Dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. FROM cloudron/base:0.10.0
  2. RUN apt-get update && \
  3. apt-get install -y openssh-server && \
  4. rm -rf /etc/ssh_host_* && \
  5. rm -r /var/cache/apt /var/lib/apt/lists
  6. ADD supervisor/ /etc/supervisor/conf.d/
  7. RUN adduser --disabled-login --gecos 'Gogs' git
  8. # by default, git account is created as inactive which prevents login via openssh
  9. # https://github.com/gitlabhq/gitlabhq/issues/5304
  10. RUN passwd -d git
  11. RUN mkdir -p /home/git/gogs
  12. ## TODO: use redis as well
  13. RUN cd /home/git/gogs && \
  14. curl -L https://github.com/gogits/gogs/releases/download/v0.9.128/linux_amd64.tar.gz | tar zxvf - --strip-components 1
  15. # setup config paths
  16. ADD app.ini.template /home/git/app.ini.template
  17. RUN mkdir -p /run/gogs && chown -R git:git /run/gogs
  18. # setup log paths
  19. RUN mkdir -p /run/gogs && chown -R git:git /run/gogs
  20. RUN sed -e 's,^logfile=.*$,logfile=/run/gogs/supervisord.log,' -i /etc/supervisor/supervisord.conf
  21. RUN ln -s /app/data/ssh /home/git/.ssh
  22. RUN ln -s /app/data/gitconfig /home/git/.gitconfig
  23. ADD start.sh /home/git/start.sh
  24. # disable pam authentication for sshd
  25. RUN sed -e 's/UsePAM yes/UsePAM no/' -e 's/UsePrivilegeSeparation yes/UsePrivilegeSeparation no/' -i /etc/ssh/sshd_config
  26. RUN echo "UseDNS no" >> /etc/ssh/sshd_config
  27. CMD [ "/home/git/start.sh" ]