Dockerfile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. bash -c 'source ./bin/install-services'; \
  23. cd web; \
  24. npm install; \
  25. npm install bcrypt; \
  26. cd modules; \
  27. git clone https://bitbucket.org/sharelatex/launchpad-webmodule.git launchpad; \
  28. grunt compile;
  29. RUN cd /var/www && node git-revision > revisions.txt
  30. # Minify js assets
  31. RUN cd /var/www/sharelatex/web; \
  32. grunt compile:minify;
  33. RUN cd /var/www/sharelatex/clsi; \
  34. grunt compile:bin
  35. EXPOSE 80
  36. WORKDIR /
  37. ENTRYPOINT ["/sbin/my_init"]