Miguel Serrano 4 ani în urmă
părinte
comite
9ab0514039
3 a modificat fișierele cu 39 adăugiri și 82 ștergeri
  1. 3 4
      .devcontainer.json
  2. 1 78
      Dockerfile
  3. 35 0
      docker-compose.dev.yml

+ 3 - 4
.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"

+ 1 - 78
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

+ 35 - 0
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
+