Dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FROM docker.io/debian:10.8-slim
  2. ARG GITOLITE_PACKAGE_VERSION=3.6.11-2
  3. ARG GIT_ANNEX_PACKAGE_VERSION=7.20190129-3
  4. ARG GIT_PACKAGE_VERSION=1:2.20.1-2+deb10u3
  5. ARG OPENSSH_SERVER_PACKAGE_VERSION=1:7.9p1-10+deb10u2
  6. ARG USER=git
  7. ARG GITOLITE_HOME_PATH=/var/lib/gitolite
  8. ENV SSHD_HOST_KEYS_DIR=/etc/ssh/host_keys
  9. RUN apt-get update \
  10. && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes \
  11. git-annex=$GIT_ANNEX_PACKAGE_VERSION \
  12. git=$GIT_PACKAGE_VERSION \
  13. gitolite3=$GITOLITE_PACKAGE_VERSION \
  14. openssh-server=$OPENSSH_SERVER_PACKAGE_VERSION \
  15. && rm -rf /var/lib/apt/lists/* \
  16. && rm /etc/ssh/ssh_host_*_key* \
  17. && useradd --home-dir "$GITOLITE_HOME_PATH" --create-home "$USER" \
  18. && getent passwd "$USER" \
  19. && if grep --extended-regex --invert-match '^[a-z0-9_-]+:[\*!]:' /etc/shadow; then exit 1; fi \
  20. && mkdir "$SSHD_HOST_KEYS_DIR" \
  21. && chown -c "$USER" "$SSHD_HOST_KEYS_DIR"
  22. # TODO merge up
  23. RUN apt-get update && apt-get install --yes tini
  24. VOLUME $GITOLITE_HOME_PATH
  25. VOLUME $SSHD_HOST_KEYS_DIR
  26. COPY sshd_config /etc/ssh/sshd_config
  27. EXPOSE 2200/tcp
  28. ENV GITOLITE_INITIAL_ADMIN_NAME=admin
  29. COPY entrypoint.sh /
  30. ENTRYPOINT ["/usr/bin/tini", "--", "/entrypoint.sh"]
  31. USER $USER
  32. CMD ["/usr/sbin/sshd", "-D", "-e"]
  33. # https://github.com/opencontainers/image-spec/blob/v1.0.1/annotations.md
  34. ARG REVISION=
  35. LABEL org.opencontainers.image.title="gitolite with support for git-annex" \
  36. org.opencontainers.image.source="https://github.com/fphammerle/docker-gitolite" \
  37. org.opencontainers.image.revision="$REVISION"