From fe65fb7138a686237d621917cc263e9f1a90cff8 Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Tue, 19 Oct 2021 11:29:18 +0200 Subject: [PATCH] added codespace --- Dockerfile | 78 +++++++++++++++++++++++++++++++++++++++++++++++ devcontainer.json | 15 +++++++++ 2 files changed, 93 insertions(+) create mode 100644 Dockerfile create mode 100644 devcontainer.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..f3bf2ca68b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,78 @@ +# --------------------------------------------- +# Dockerfile for Github Codespaces +# --------------------------------------------- + +ARG SHARELATEX_BASE_TAG=sharelatex/sharelatex-base:latest +FROM $SHARELATEX_BASE_TAG + +WORKDIR /var/www/sharelatex + +# Add required source files +# ------------------------- +ADD server-ce/genScript.js /var/www/sharelatex/genScript.js +ADD server-ce/services.js /var/www/sharelatex/services.js +ADD services/ /var/www/sharelatex/ + +# Store the revision +# ------------------ +# ARG MONOREPO_REVISION +# RUN echo "monorepo-server-ce,$MONOREPO_REVISION" > /var/www/revisions.txt + +# Install npm dependencies +# ------------------------ +RUN node genScript install | bash + +# Compile +# -------------------- +RUN node genScript compile | bash + +# Copy runit service startup scripts to its location +# -------------------------------------------------- +ADD server-ce/runit /etc/service + + +# Configure nginx +# --------------- +ADD server-ce/nginx/nginx.conf.template /etc/nginx/templates/nginx.conf.template +ADD server-ce/nginx/sharelatex.conf /etc/nginx/sites-enabled/sharelatex.conf + + +# Configure log rotation +# ---------------------- +# ADD server-ce/logrotate/sharelatex /etc/logrotate.d/sharelatex +# RUN chmod 644 /etc/logrotate.d/sharelatex + + +# Copy Phusion Image startup scripts to its location +# -------------------------------------------------- +COPY server-ce/init_scripts/ /etc/my_init.d/ + +# Copy app settings files +# ----------------------- +COPY server-ce/settings.js /etc/sharelatex/settings.js + +# Copy grunt thin wrapper +# ----------------------- +ADD server-ce/bin/grunt /usr/local/bin/grunt +RUN chmod +x /usr/local/bin/grunt + +# Set Environment Variables +# -------------------------------- +ENV SHARELATEX_CONFIG /etc/sharelatex/settings.js + +ENV WEB_API_USER "sharelatex" + +ENV SHARELATEX_APP_NAME "Overleaf Community Edition" + +ENV OPTIMISE_PDF "true" + +ENV NODE_ENV "development" +ENV LOG_LEVEL "info" + + +EXPOSE 80 + +WORKDIR / + +ENTRYPOINT ["/sbin/my_init"] + diff --git a/devcontainer.json b/devcontainer.json new file mode 100644 index 0000000000..0458d72113 --- /dev/null +++ b/devcontainer.json @@ -0,0 +1,15 @@ +{ + "name": "Overleaf Community Edition Codespace", + "build": { + "dockerfile": "Dockerfile", + "args": { "VARIANT": "14" } + }, + + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + + "forwardPorts": [80], + + "remoteUser": "node" +} \ No newline at end of file