Show last authors
author | version | line-number | content |
---|---|---|---|
1 | ====== docker-compose.yml ====== | ||
2 | |||
3 | {{code language="none"}} | ||
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 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. |