Wiki source code of Overleaf

Version 1.3 by chrisby on 2023/11/18 15:00

Show last authors
1 ====== docker-compose.yml ======
2
3 {{code language="yaml"}}
4 version: "3.3"
5
6 volumes:
7 traefik:
8 overleaf-web:
9 overleaf-mongo:
10 overleaf-redis:
11
12 services:
13 traefik:
14 image: "traefik:v2.10.4"
15 container_name: "traefik"
16 restart: unless-stopped
17 command:
18 - "--api.insecure=true"
19 - "--providers.docker=true"
20 - "--providers.docker.exposedbydefault=false"
21 - "--entrypoints.websecure.address=:443"
22 - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
23 # - "--certificatesresolvers.myresolver.acme.email=<email>"
24 - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
25 # Uncomment for test mode. This allows detailed logging and creation of a fake certificate.
26 # - "--log.level=DEBUG"
27 # - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
28 ports:
29 - "443:443"
30 volumes:
31 - "traefik:/letsencrypt"
32 - "/var/run/docker.sock:/var/run/docker.sock:ro"
33
34 sharelatex:
35 restart: unless-stopped
36 image: sharelatex/sharelatex:3.5.5
37 container_name: sharelatex
38 depends_on:
39 mongo:
40 condition: service_healthy
41 redis:
42 condition: service_started
43 stop_grace_period: 60s
44 volumes:
45 - overleaf-web:/var/lib/sharelatex
46 environment:
47 SHARELATEX_APP_NAME: Overleaf Community Edition
48 SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
49 SHARELATEX_REDIS_HOST: redis
50 REDIS_HOST: redis
51 ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
52 ENABLE_CONVERSIONS: 'true'
53 EMAIL_CONFIRMATION_DISABLED: 'true'
54 SHARELATEX_SITE_URL: https://<subdomain>
55 labels:
56 - "traefik.enable=true"
57 - "traefik.http.routers.overleaf.rule=Host(`<subdomain>`)"
58 - "traefik.http.routers.overleaf.entrypoints=websecure"
59 - "traefik.http.routers.overleaf.tls.certresolver=myresolver"
60
61 mongo:
62 restart: unless-stopped
63 image: mongo:4.4.20
64 container_name: mongo
65 volumes:
66 - overleaf-mongo:/data/db
67 healthcheck:
68 test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
69 interval: 10s
70 timeout: 10s
71 retries: 5
72
73 redis:
74 restart: unless-stopped
75 image: redis:5.0.14
76 container_name: redis
77 volumes:
78 - overleaf-redis:/data
79 {{/code}}
80
81 ====== Instructions ======
82
83 * Execute {{code language="none"}}docker-compose up -d{{/code}}
84 * Now create an account via {{code language="none"}}docker-compose exec sharelatex /bin/bash -c "grunt user:create-admin --email=<email>"{{/code}}. Go to the link from the output of the command to complete the creation of the admin user by setting the password.