12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- FROM golang:alpine AS binarybuilder
- # Install build deps
- RUN apk --no-cache --no-progress add --virtual build-deps build-base git linux-pam-dev
- WORKDIR /go/src/github.com/gogs/gogs
- COPY . .
- RUN make build TAGS="sqlite cert pam"
- FROM alpine:latest
- # Install system utils & Gogs runtime dependencies
- ADD https://github.com/tianon/gosu/releases/download/1.10/gosu-amd64 /usr/sbin/gosu
- RUN chmod +x /usr/sbin/gosu \
- && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
- && 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 templates ./templates
- COPY public ./public
- COPY --from=binarybuilder /go/src/github.com/gogs/gogs/gogs .
- RUN ./docker/finalize.sh
- # Configure Docker Container
- VOLUME ["/data"]
- EXPOSE 22 3000
- ENTRYPOINT ["/app/gogs/docker/start.sh"]
- CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]
|