155 lines
5.6 KiB
YAML
155 lines
5.6 KiB
YAML
version: '2.2'
|
|
services:
|
|
sharelatex:
|
|
restart: always
|
|
image: tuetenk0pp/sharelatex-full
|
|
container_name: sharelatex
|
|
labels:
|
|
- "traefik.enable=true"
|
|
# handle https traffic
|
|
- "traefik.http.routers.sharel-secured.rule=Host(`overleaf.mertens.digital`)"
|
|
- "traefik.http.routers.sharel-secured.tls=true"
|
|
- "traefik.http.routers.sharel-secured.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.sharel-secured.entrypoints=websecure"
|
|
- "traefik.http.middlewares.sharel-secured.forwardauth.trustForwardHeader=true"
|
|
# Docker loadbalance
|
|
- "traefik.http.services.sharel.loadbalancer.server.port=80"
|
|
- "traefik.http.services.sharel.loadbalancer.server.scheme=http"
|
|
- "traefik.http.services.sharel.loadbalancer.sticky.cookie=true"
|
|
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.name=io"
|
|
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.httponly=true"
|
|
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.secure=true"
|
|
- "traefik.http.services.sharel.loadbalancer.sticky.cookie.samesite=io"
|
|
# labels:
|
|
# caddy: overleaf.mertens.digital
|
|
# caddy.reverse_proxy: "{{upstreams http 80}}"
|
|
networks:
|
|
- proxy
|
|
- default
|
|
depends_on:
|
|
mongo:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
ports:
|
|
- 8088:80
|
|
- 8080:8080
|
|
links:
|
|
- mongo
|
|
- redis
|
|
stop_grace_period: 60s
|
|
volumes:
|
|
- ./data/sharelatex_log:/var/log/sharelatex/
|
|
- ./data/sharelatex:/var/lib/sharelatex
|
|
environment:
|
|
SHARELATEX_APP_NAME: Overleaf Mertens
|
|
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'
|
|
|
|
TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var
|
|
|
|
#Proxy
|
|
SHARELATEX_SECURE_COOKIE: 'true'
|
|
SHARELATEX_BEHIND_PROXY: 'true'
|
|
|
|
## Set for SSL via nginx-proxy
|
|
#VIRTUAL_HOST: 103.112.212.22
|
|
|
|
SHARELATEX_SITE_URL: https://overleaf.mertens.digital
|
|
# SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance
|
|
# SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
|
|
# SHARELATEX_ADMIN_EMAIL: support@it.com
|
|
|
|
# SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\"https://www.sharelatex.com\">ShareLaTeX</a> 2016"},{"text": "Another page I want to link to can be found <a href=\"here\">here</a>"} ]'
|
|
# SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'
|
|
|
|
SHARELATEX_EMAIL_FROM_ADDRESS: ${SHARELATEX_EMAIL_FROM_ADDRESS}
|
|
|
|
# SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID:
|
|
# SHARELATEX_EMAIL_AWS_SES_SECRET_KEY:
|
|
|
|
SHARELATEX_EMAIL_SMTP_HOST: ${SHARELATEX_EMAIL_SMTP_HOST}
|
|
SHARELATEX_EMAIL_SMTP_PORT: 25
|
|
SHARELATEX_EMAIL_SMTP_SECURE: "false"
|
|
SHARELATEX_EMAIL_SMTP_USER: ${SHARELATEX_EMAIL_SMTP_USER}
|
|
SHARELATEX_EMAIL_SMTP_PASS: ${SHARELATEX_EMAIL_SMTP_PASS}
|
|
SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: "true"
|
|
SHARELATEX_EMAIL_SMTP_IGNORE_TLS: "true"
|
|
#SHARELATEX_EMAIL_SMTP_NAME: '127.0.0.1'
|
|
SHARELATEX_EMAIL_SMTP_LOGGER: "true"
|
|
#SHARELATEX_CUSTOM_EMAIL_FOOTER: "This system is run by department x"
|
|
|
|
################
|
|
## Server Pro ##
|
|
################
|
|
|
|
# SANDBOXED_COMPILES: 'true'
|
|
|
|
# SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
|
|
# SANDBOXED_COMPILES_HOST_DIR: '/var/sharelatex_data/data/compiles'
|
|
|
|
# DOCKER_RUNNER: 'false'
|
|
|
|
## Works with test LDAP server shown at bottom of docker compose
|
|
# SHARELATEX_LDAP_URL: 'ldap://ldap:389'
|
|
# SHARELATEX_LDAP_SEARCH_BASE: 'ou=people,dc=planetexpress,dc=com'
|
|
# SHARELATEX_LDAP_SEARCH_FILTER: '(uid={{username}})'
|
|
# SHARELATEX_LDAP_BIND_DN: 'cn=admin,dc=planetexpress,dc=com'
|
|
# SHARELATEX_LDAP_BIND_CREDENTIALS: 'GoodNewsEveryone'
|
|
# SHARELATEX_LDAP_EMAIL_ATT: 'mail'
|
|
# SHARELATEX_LDAP_NAME_ATT: 'cn'
|
|
# SHARELATEX_LDAP_LAST_NAME_ATT: 'sn'
|
|
# SHARELATEX_LDAP_UPDATE_USER_DETAILS_ON_LOGIN: 'true'
|
|
|
|
# SHARELATEX_TEMPLATES_USER_ID: "578773160210479700917ee5"
|
|
# SHARELATEX_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'
|
|
|
|
|
|
# SHARELATEX_PROXY_LEARN: "true"
|
|
|
|
mongo:
|
|
restart: always
|
|
image: mongo:4.4
|
|
container_name: mongo
|
|
expose:
|
|
- 27017
|
|
volumes:
|
|
- ./data/mongo_data:/data/db
|
|
healthcheck:
|
|
test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
redis:
|
|
restart: always
|
|
image: redis:5
|
|
container_name: redis
|
|
expose:
|
|
- 6379
|
|
volumes:
|
|
- ./data/redis_data:/data
|
|
|
|
# nginx-proxy:
|
|
# image: jwilder/nginx-proxy
|
|
# container_name: nginx-proxy
|
|
# ports:
|
|
# #- "80:80"
|
|
# - "443:443"
|
|
# volumes:
|
|
# - /var/run/docker.sock:/tmp/docker.sock:ro
|
|
# - /home/sharelatex/tmp:/etc/nginx/certs
|
|
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|