overleaf/docker-compose.yaml

79 lines
1.9 KiB
YAML

services:
latex:
restart: unless-stopped
image: sharelatex/sharelatex:5.3
container_name: markus_latex
depends_on:
mongo:
condition: service_started
redis:
condition: service_started
stop_grace_period: 60s
volumes:
- latex-data:/var/lib/overleaf
labels:
- "traefik.enable=true"
- "traefik.http.routers.dev-thielker-latex.rule=Host(latex.thielker.dev)"
- "traefik.http.routers.dev-thielker-latex.entrypoints=web, websecure"
- "traefik.http.routers.dev-thielker-latex.tls=true"
- "traefik.http.routers.dev-thielker-latex.tls.certresolver=lets-encrypt"
networks:
- web
- internal
environment:
OVERLEAF_APP_NAME: HNU - Overleaf
OVERLEAF_MONGO_URL: mongodb://mongo/latex
OVERLEAF_REDIS_HOST: redis
REDIS_HOST: redis
ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file'
ENABLE_CONVERSIONS: 'true'
EMAIL_CONFIRMATION_DISABLED: 'true'
OVERLEAF_SITE_URL: https://latex.thielker.dev
OVERLEAF_NAV_TITLE: Overleaf
OVERLEAF_HEADER_IMAGE_URL: https://git.thielker.dev/markus/overleaf/raw/branch/main/hnu-logo-white.svg
mongo:
container_name: markus_latex_mongo
image: mongo:8.0.6
restart: unless-stopped
environment:
MONGO_INITDB_DATABASE: latex
volumes:
- mongo-data:/data/db
networks:
- internal
extra_hosts:
- mongo:127.0.0.1
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 30s
timeout: 10s
start_period: 0s
start_interval: 1s
retries: 30
redis:
restart: always
image: redis:6.2
container_name: markus_latex_redis
networks:
- internal
volumes:
- redis-data:/data
volumes:
redis-data:
mongo-data:
latex-data:
networks:
internal:
web:
external: true