2023-12-25 18:22:22 +00:00
|
|
|
# vi: ft=yaml
|
|
|
|
version: '3'
|
|
|
|
networks:
|
|
|
|
traefik:
|
|
|
|
external: true
|
|
|
|
overleaf:
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
data:
|
|
|
|
driver_opts:
|
|
|
|
type: "nfs"
|
2024-01-01 12:16:11 +00:00
|
|
|
o: "addr=lewis.dmz,nolock,soft,rw"
|
2023-12-25 18:22:22 +00:00
|
|
|
device: ":/mnt/data/overleaf/data"
|
|
|
|
redis:
|
|
|
|
driver_opts:
|
|
|
|
type: "nfs"
|
2024-01-01 12:16:11 +00:00
|
|
|
o: "addr=lewis.dmz,nolock,soft,rw"
|
2023-12-25 18:22:22 +00:00
|
|
|
device: ":/mnt/data/overleaf/redis"
|
|
|
|
mongodb:
|
|
|
|
driver_opts:
|
|
|
|
type: "nfs"
|
2024-01-01 12:16:11 +00:00
|
|
|
o: "addr=lewis.dmz,nolock,soft,rw"
|
2023-12-25 18:22:22 +00:00
|
|
|
device: ":/mnt/data/overleaf/mongodb"
|
|
|
|
|
|
|
|
services:
|
|
|
|
sharelatex:
|
|
|
|
image: sharelatex/sharelatex:3
|
|
|
|
networks:
|
|
|
|
- traefik
|
|
|
|
- overleaf
|
|
|
|
depends_on:
|
|
|
|
- overleaf-mongodb
|
|
|
|
- overleaf-redis
|
|
|
|
stop_grace_period: 60s
|
|
|
|
volumes:
|
|
|
|
- type: volume
|
|
|
|
source: data
|
|
|
|
target: /var/lib/sharelatex
|
|
|
|
volume:
|
|
|
|
nocopy: true
|
|
|
|
deploy:
|
|
|
|
labels:
|
|
|
|
- traefik.enable=true
|
|
|
|
- traefik.http.routers.overleaf.entrypoints=websecure
|
|
|
|
- traefik.http.routers.overleaf.rule=Host(`latex.kun.is`)
|
|
|
|
- traefik.http.routers.overleaf.tls=true
|
|
|
|
- traefik.http.routers.overleaf.tls.certresolver=letsencrypt
|
|
|
|
- traefik.http.routers.overleaf.service=overleaf
|
|
|
|
- traefik.http.services.overleaf.loadbalancer.server.port=80
|
|
|
|
- traefik.docker.network=traefik
|
|
|
|
environment:
|
|
|
|
SHARELATEX_APP_NAME: Overleaf Community Edition
|
|
|
|
|
|
|
|
SHARELATEX_MONGO_URL: mongodb://overleaf-mongodb:27017/sharelatex
|
|
|
|
|
|
|
|
# Same property, unfortunately with different names in
|
|
|
|
# different locations
|
|
|
|
SHARELATEX_REDIS_HOST: overleaf-redis
|
|
|
|
REDIS_HOST: overleaf-redis
|
|
|
|
|
|
|
|
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
|
|
|
|
|
|
|
|
# Enables Thumbnail generation using ImageMagick
|
|
|
|
ENABLE_CONVERSIONS: 'true'
|
|
|
|
|
|
|
|
# Disables email confirmation requirement
|
|
|
|
EMAIL_CONFIRMATION_DISABLED: 'true'
|
|
|
|
|
|
|
|
# temporary fix for LuaLaTex compiles
|
|
|
|
# see https://github.com/overleaf/overleaf/issues/695
|
|
|
|
TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
|
|
|
|
|
|
|
|
SHARELATEX_SITE_URL: https://latex.kun.is
|
|
|
|
SHARELATEX_ADMIN_EMAIL: pim@kunis.nl
|
|
|
|
|
|
|
|
SHARELATEX_EMAIL_FROM_ADDRESS: "noreply@kunis.nl"
|
|
|
|
|
|
|
|
SHARELATEX_EMAIL_SMTP_HOST: "smtp.tweak.nl"
|
|
|
|
SHARELATEX_EMAIL_SMTP_PORT: 587
|
|
|
|
SHARELATEX_EMAIL_SMTP_USER: ""
|
|
|
|
SHARELATEX_EMAIL_SMTP_PASS: ""
|
|
|
|
|
|
|
|
overleaf-mongodb:
|
|
|
|
image: mongo:4.4
|
|
|
|
networks:
|
|
|
|
- overleaf
|
|
|
|
expose:
|
|
|
|
- 27017
|
|
|
|
volumes:
|
|
|
|
- type: volume
|
|
|
|
source: mongodb
|
|
|
|
target: /data/db
|
|
|
|
volume:
|
|
|
|
nocopy: true
|
|
|
|
healthcheck:
|
|
|
|
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
|
|
|
|
interval: 10s
|
|
|
|
timeout: 10s
|
|
|
|
retries: 5
|
|
|
|
|
|
|
|
overleaf-redis:
|
|
|
|
image: redis:5
|
|
|
|
networks:
|
|
|
|
- overleaf
|
|
|
|
expose:
|
|
|
|
- 6379
|
|
|
|
volumes:
|
|
|
|
- type: volume
|
|
|
|
source: redis
|
|
|
|
target: /data
|
|
|
|
volume:
|
|
|
|
nocopy: true
|