Dockerfile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # Sharelatex Community Edition (sharelatex/sharelatex)
  2. FROM sharelatex/sharelatex-base:v1.0.0
  3. ENV baseDir .
  4. # Install sharelatex settings file
  5. ADD ${baseDir}/settings.coffee /etc/sharelatex/settings.coffee
  6. ENV SHARELATEX_CONFIG /etc/sharelatex/settings.coffee
  7. ADD ${baseDir}/runit /etc/service
  8. RUN rm /etc/nginx/sites-enabled/default
  9. ADD ${baseDir}/nginx/nginx.conf /etc/nginx/nginx.conf
  10. ADD ${baseDir}/nginx/sharelatex.conf /etc/nginx/sites-enabled/sharelatex.conf
  11. ADD ${baseDir}/logrotate/sharelatex /etc/logrotate.d/sharelatex
  12. COPY ${baseDir}/init_scripts/ /etc/my_init.d/
  13. # Install ShareLaTeX
  14. RUN git clone https://github.com/sharelatex/sharelatex.git /var/www/sharelatex
  15. ADD ${baseDir}/services.js /var/www/sharelatex/config/services.js
  16. ADD ${baseDir}/package.json /var/www/package.json
  17. ADD ${baseDir}/git-revision.js /var/www/git-revision.js
  18. RUN cd /var/www && npm install
  19. RUN cd /var/www/sharelatex; \
  20. npm install; \
  21. grunt install; \
  22. cd web; \
  23. npm install; \
  24. npm install bcrypt; \
  25. cd modules; \
  26. git clone https://bitbucket.org/sharelatex/launchpad-webmodule.git launchpad; \
  27. grunt compile;
  28. RUN cd /var/www && node git-revision > revisions.txt
  29. # Minify js assets
  30. RUN cd /var/www/sharelatex/web; \
  31. grunt compile:minify;
  32. RUN cd /var/www/sharelatex/clsi; \
  33. grunt compile:bin
  34. EXPOSE 80
  35. WORKDIR /
  36. ENTRYPOINT ["/sbin/my_init"]