| |
| |
| |
| FROM golang:1.25-alpine AS builder |
|
|
| RUN apk add --no-cache git gcc musl-dev |
|
|
| WORKDIR /build |
| RUN git clone https://github.com/Pro-mwas1234/arozos.git |
|
|
| WORKDIR /build/arozos/src |
|
|
| RUN go mod tidy && \ |
| CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o arozos |
|
|
| |
| |
| |
| FROM alpine:latest |
|
|
| |
| RUN apk add --no-cache ca-certificates tzdata wget shadow ffmpeg su-exec && \ |
| rm -rf /var/cache/apk/* |
|
|
| |
| RUN addgroup -S arozos && adduser -S arozos -G arozos |
|
|
| WORKDIR /app |
|
|
| |
| COPY --from=builder /build/arozos/src/arozos /app/arozos |
|
|
| |
| COPY --from=builder /build/arozos /app/arozos-source |
|
|
| |
| RUN if [ -d "/app/arozos-source/web" ]; then \ |
| mv /app/arozos-source/web /app/web; \ |
| elif [ -d "/app/arozos-source/src/web" ]; then \ |
| mv /app/arozos-source/src/web /app/web; \ |
| fi |
|
|
| |
| RUN rm -rf /app/arozos-source |
|
|
| |
| |
| |
| |
| RUN mkdir -p /data/sysdb /data/userfiles /app/logs |
|
|
| |
| RUN ln -s /data/sysdb /app/sysdb && \ |
| ln -s /data/userfiles /app/userfiles |
|
|
| |
| RUN chown -R arozos:arozos /app /data |
|
|
| |
| COPY entrypoint.sh /app/entrypoint.sh |
| RUN chmod +x /app/entrypoint.sh |
|
|
| EXPOSE 7860 |
|
|
| |
| ENV PORT=7860 \ |
| HOST=0.0.0.0 \ |
| TZ=UTC \ |
| GOMAXPROCS=2 \ |
| GOMEMLIMIT=12GiB \ |
| GOGC=100 |
|
|
| |
| |
|
|
| HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ |
| CMD wget -q --spider http://localhost:7860/ || exit 1 |
|
|
| |
| CMD ["./entrypoint.sh"] |