Dockerfile 908 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. FROM alpine:3.5
  2. # Install system utils & Gogs runtime dependencies
  3. ADD https://github.com/tianon/gosu/releases/download/1.9/gosu-amd64 /usr/sbin/gosu
  4. RUN chmod +x /usr/sbin/gosu \
  5. && echo http://dl-2.alpinelinux.org/alpine/edge/community/ >> /etc/apk/repositories \
  6. && apk --no-cache --no-progress add \
  7. bash \
  8. ca-certificates \
  9. curl \
  10. git \
  11. linux-pam \
  12. openssh \
  13. s6 \
  14. shadow \
  15. socat \
  16. tzdata
  17. ENV GOGS_CUSTOM /data/gogs
  18. # Configure LibC Name Service
  19. COPY docker/nsswitch.conf /etc/nsswitch.conf
  20. COPY docker /app/gogs/docker
  21. COPY templates /app/gogs/templates
  22. COPY public /app/gogs/public
  23. WORKDIR /app/gogs/build
  24. COPY . .
  25. RUN ./docker/build-go.sh \
  26. && ./docker/build.sh \
  27. && ./docker/finalize.sh
  28. # Configure Docker Container
  29. VOLUME ["/data"]
  30. EXPOSE 22 3000
  31. ENTRYPOINT ["/app/gogs/docker/start.sh"]
  32. CMD ["/bin/s6-svscan", "/app/gogs/docker/s6/"]