From 9ab05140390aa5fb193ccedc77532a6f80adeb88 Mon Sep 17 00:00:00 2001 From: Miguel Serrano Date: Wed, 20 Oct 2021 06:40:14 +0200 Subject: [PATCH] wip --- .devcontainer.json | 7 ++-- Dockerfile | 79 +----------------------------------------- docker-compose.dev.yml | 35 +++++++++++++++++++ 3 files changed, 39 insertions(+), 82 deletions(-) create mode 100644 docker-compose.dev.yml diff --git a/.devcontainer.json b/.devcontainer.json index 0f35c17a43..d4f09d7a53 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -1,9 +1,8 @@ { "name": "Overleaf Community Edition Codespace", - "build": { - "dockerfile": "Dockerfile", - "args": { "VARIANT": "14" } - }, + "dockerComposeFile": "docker-compose.dev.yml", + "service": "sharelatex", + "workspaceFolder": "/app", "settings": { "terminal.integrated.shell.linux": "/bin/bash" diff --git a/Dockerfile b/Dockerfile index f3bf2ca68b..d711251042 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,78 +1 @@ -# --------------------------------------------- -# 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"] - +FROM sharelatex/sharelatex \ No newline at end of file diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000000..cae4cd3aa5 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,35 @@ +version: '2.2' +services: + sharelatex: + dockerfile: Dockerfile + depends_on: + mongo: + condition: service_healthy + redis: + condition: service_started + ports: + - 80:80 + links: + - mongo + - redis + environment: + SHARELATEX_APP_NAME: Overleaf CE Codebase Dev Environment + SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex + SHARELATEX_REDIS_HOST: redis + REDIS_HOST: redis + ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file' + ENABLE_CONVERSIONS: 'true' + EMAIL_CONFIRMATION_DISABLED: 'true' + + mongo: + restart: always + image: mongo:4.2 + healthcheck: + test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet + interval: 10s + timeout: 10s + retries: 5 + + redis: + image: redis:5 + \ No newline at end of file