Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. FROM cloudron/base:0.6.0
  2. RUN apt-get update && \
  3. apt-get install -y openssh-server && \
  4. rm -r /var/cache/apt /var/lib/apt/lists
  5. ADD supervisor/ /etc/supervisor/conf.d/
  6. ENV GOROOT /usr/local/go-1.5.1
  7. ENV PATH $GOROOT/bin:$PATH
  8. ENV GOPATH /home/cloudron/gows
  9. RUN mkdir -p /home/cloudron/gows /home/cloudron/gogs
  10. ## TODO: use redis as well
  11. RUN mkdir -p ${GOPATH}/src/github.com/gogits && \
  12. cd ${GOPATH}/src/github.com/gogits && \
  13. git clone https://github.com/gogits/gogs.git && \
  14. cd gogs && \
  15. git reset --hard 1c2dbd7183f12eff0be33c7a8d1cf0753dd42324 && \
  16. go get ./... && \
  17. go build && \
  18. go install && \
  19. mv ${GOPATH}/bin/gogs /home/cloudron/gogs/ && \
  20. cp -r ${GOPATH}/src/github.com/gogits/gogs/templates/ /home/cloudron/gogs/. && \
  21. cp -r ${GOPATH}/src/github.com/gogits/gogs/public/ /home/cloudron/gogs/. && \
  22. rm -rf ${GOPATH}
  23. # setup config paths
  24. ADD app.ini.template /home/cloudron/app.ini.template
  25. RUN mkdir -p /run/gogs && chown -R cloudron:cloudron /run/gogs
  26. # setup log paths
  27. RUN mkdir -p /var/log/gogs && chown -R cloudron:cloudron /var/log/gogs
  28. RUN ln -s /app/data/ssh /home/cloudron/.ssh
  29. ADD start.sh /home/cloudron/start.sh
  30. # disable pam authentication for sshd
  31. RUN sed 's/UsePAM yes/UsePAM no/' -i /etc/ssh/sshd_config
  32. RUN sed 's/UsePrivilegeSeparation yes/UsePrivilegeSeparation no/' -i /etc/ssh/sshd_config
  33. RUN echo "UseDNS no" >> /etc/ssh/sshd_config
  34. CMD [ "/home/cloudron/start.sh" ]