1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- FROM golang:alpine3.17 AS binarybuilder
- RUN apk --no-cache --no-progress add --virtual \
- build-deps \
- build-base \
- git \
- linux-pam-dev
- WORKDIR /gogs.io/gogs
- COPY . .
- RUN ./docker/build/install-task.sh
- RUN TAGS="cert pam" task build
- FROM alpine:3.17
- RUN apk --no-cache --no-progress add \
- bash \
- ca-certificates \
- curl \
- git \
- linux-pam \
- openssh \
- s6 \
- shadow \
- socat \
- tzdata \
- rsync
- ENV GOGS_CUSTOM /data/gogs
- # Configure LibC Name Service
- COPY docker/nsswitch.conf /etc/nsswitch.conf
- WORKDIR /app/gogs
- COPY docker ./docker
- COPY --from=binarybuilder /gogs.io/gogs/gogs .
- RUN ./docker/build/finalize.sh
- # Configure Docker Container
- VOLUME ["/data", "/backup"]
- EXPOSE 22 3000
- HEALTHCHECK CMD (curl -o /dev/null -sS http://localhost:3000/healthcheck) || exit 1
- ENTRYPOINT ["/app/gogs/docker/start.sh"]
- CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|