mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
ac82600b74
* [docker] drop sudo Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] install qpdf in a single stage Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] install texlive and additional tlmgr packages in a single stage Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] drop the apt package lists Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] pull the package lists only once move the installation of nodejs into the dependencies install section Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] delete the default nginx configuration files immediately Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] skip the downloading and storage of unused texlive artifacts Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] drop the npm download cache Signed-off-by: Jakob Ackermann <das7pad@outlook.com> * [docker] apply review feedback - install qpdf as ubuntu package - add a comment on the nginx config removal - add back and update a note on changing the texlive mirror
90 lines
2.4 KiB
Docker
90 lines
2.4 KiB
Docker
# ---------------------------------------------
|
||
# Overleaf Community Edition (overleaf/overleaf)
|
||
# ---------------------------------------------
|
||
|
||
FROM sharelatex/sharelatex-base:latest
|
||
|
||
ENV baseDir .
|
||
|
||
|
||
# Install app settings files
|
||
# --------------------------
|
||
ADD ${baseDir}/settings.coffee /etc/sharelatex/settings.coffee
|
||
ENV SHARELATEX_CONFIG /etc/sharelatex/settings.coffee
|
||
|
||
|
||
# Checkout Overleaf Community Edition repo
|
||
# ----------------------------------------
|
||
RUN git clone https://github.com/overleaf/overleaf.git \
|
||
--depth 1 /var/www/sharelatex
|
||
|
||
|
||
# Install dependencies needed to run configuration scripts
|
||
# --------------------------------------------------------
|
||
ADD ${baseDir}/package.json /var/www/package.json
|
||
ADD ${baseDir}/git-revision.sh /var/www/git-revision.sh
|
||
RUN cd /var/www && npm install
|
||
|
||
|
||
# Replace overleaf/config/services.js with the list of available
|
||
# services in Overleaf Community Edition
|
||
# --------------------------------------------------------------
|
||
ADD ${baseDir}/services.js /var/www/sharelatex/config/services.js
|
||
|
||
|
||
# Checkout services
|
||
# -----------------
|
||
RUN cd /var/www/sharelatex && \
|
||
npm install && grunt install;
|
||
|
||
|
||
# install and compile services
|
||
# ----------------------------
|
||
RUN bash -c 'cd /var/www/sharelatex && source ./bin/install-services'
|
||
RUN bash -c 'cd /var/www/sharelatex && source ./bin/compile-services'
|
||
|
||
|
||
# Links CLSI sycntex to its default location
|
||
# ------------------------------------------
|
||
RUN ln -s /var/www/sharelatex/clsi/bin/synctex /opt/synctex
|
||
|
||
|
||
# Copy runit service startup scripts to its location
|
||
# --------------------------------------------------
|
||
ADD ${baseDir}/runit /etc/service
|
||
|
||
|
||
# Configure nginx
|
||
# ---------------
|
||
ADD ${baseDir}/nginx/nginx.conf /etc/nginx/nginx.conf
|
||
ADD ${baseDir}/nginx/sharelatex.conf /etc/nginx/sites-enabled/sharelatex.conf
|
||
|
||
|
||
# Configure log rotation
|
||
# ----------------------
|
||
ADD ${baseDir}/logrotate/sharelatex /etc/logrotate.d/sharelatex
|
||
|
||
|
||
# Copy Phusion Image startup scripts to its location
|
||
# --------------------------------------------------
|
||
COPY ${baseDir}/init_scripts/ /etc/my_init.d/
|
||
|
||
|
||
# Stores the version installed for each service
|
||
# ---------------------------------------------
|
||
RUN cd /var/www && ./git-revision.sh > revisions.txt
|
||
|
||
|
||
# Set Environment Variables
|
||
# --------------------------------
|
||
ENV WEB_API_USER "sharelatex"
|
||
|
||
ENV SHARELATEX_APP_NAME "Overleaf Community Edition"
|
||
|
||
|
||
EXPOSE 80
|
||
|
||
WORKDIR /
|
||
|
||
ENTRYPOINT ["/sbin/my_init"]
|
||
|