FROM alpine LABEL maintainer "jerryaldrichiii@gmail.com" RUN apk add --no-cache openssh gitolite git-daemon # Upstream maintainer won't accept patch to allow symlinks # So...I do a bad thing... RUN sed -i 's/\(find.*-type f\) -name/\1 -or -type l -name/' /usr/lib/gitolite/commands/compile-template-data # Create group so data can be shared RUN addgroup --gid 1000 shared RUN adduser git shared VOLUME ["/bootstrap"] VOLUME ["/srv/git/repos"] # Configure SSHD RUN mkdir -p /srv/sshd COPY sshd_config /srv/sshd/sshd_config RUN chown -R git:git /srv/sshd COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh EXPOSE 2222 9418 USER git RUN gitolite setup -a dummy RUN mkdir /var/lib/git/.gitolite/keydir RUN rm -rf /var/lib/git/repositories/ RUN ln -s /srv/git/repos/ /var/lib/git/repositories RUN chown -h git:shared /var/lib/git/repositories RUN rm /var/lib/git/.gitolite.rc COPY gitolite.rc /var/lib/git/.gitolite.rc ENTRYPOINT ["/entrypoint.sh"]