Skip to main content

Overleaf mit Docker-Compose

 

 

Docker-compose file:

Änderungen zum offiziellen Image:

  • Redis-Version 6.2
  • Mongo-Version 4.4
    • bei mongo den command: "--replSet overleaf" unbedingt setzen, wenn MongoDB-Version > 4.0
    • ebenfalls healthcheck angepasst, sonst error 
---
version: '2.2'
services:
  sharelatex:
    restart: always
    image: sharelatex/sharelatex:with-texlive-full
    container_name: sharelatex
    depends_on:
      mongo:
        condition: service_healthy
      redis:
        condition: service_started
    links:
      - mongo
      - redis
    volumes:
      - /var/lib/docker/volumes/sharelatex:/var/lib/sharelatex
    ports:
      - XXX.XXX.XXX.XXX:8280:80 #IP:Port nach außen angeben
    environment:
      EXTERNAL_AUTH: none
      GIT_BRIDGE_ENABLED: false
      GIT_BRIDGE_HOST: "git-bridge"
      GIT_BRIDGE_PORT: "8000"
      REDIS_HOST: redis
      REDIS_PORT: 6379
      SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
      SHARELATEX_REDIS_HOST: redis
      V1_HISTORY_URL: "http://sharelatex:3100/api"

      # content of variables.env file
      SHARELATEX_APP_NAME: "Strootnfruity Overleaf Instance"
      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

      VIRTUAL_HOST: overleaf.strootnfruity.de
      #SHARELATEX_SITE_URL: overleaf.strootnfruity.de
      SHARELATEX_NAV_TITLE: My Sharelatex Instance
      #SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
      #SHARELATEX_ADMIN_EMAIL: NAME@gmail.com
     
      SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\"https://github.com/sharelatex/sharelatex\">ShareLaTeX</a>"}]'
      #SHARELATEX_RIGHT_FOOTER: '[{"text": "rechter Footer Text"} ]'
      SHARELATEX_EMAIL_FROM_ADDRESS: "hdung.nguyen@outlook.de"
      #SHARELATEX_EMAIL_REPLY_TO: "hdung.nguyen@outlook.de"

      #SMTP Settings
      SHARELATEX_EMAIL_SMTP_HOST: smtp-mail.outlook.com
      SHARELATEX_EMAIL_SMTP_PORT: 587
      SHARELATEX_EMAIL_SMTP_SECURE: false
      SHARELATEX_EMAIL_SMTP_USER: ...@outlook.de
      SHARELATEX_EMAIL_SMTP_PASS: MYPW
      SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
      SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false
      # SHARELATEX_EMAIL_SMTP_NAME: '127.0.0.1'
      # SHARELATEX_EMAIL_SMTP_LOGGER: true
      # SHARELATEX_CUSTOM_EMAIL_FOOTER: "This system is run by department x"

      # Nur setzten wenn ein HTTPS Reverse Proxy eingerichtet ist
      SHARELATEX_BEHIND_PROXY: 'true'
      SHARELATEX_SECURE_COOKIE: 'true'
     
      # Setzt die Sprache der Seite auf Deutsch
      SHARELATEX_SITE_LANGUAGE: 'de'
      
    stop_grace_period: 60s
    
  redis:
    restart: always
    image: redis:6.2
    volumes:
      - /var/lib/docker/volumes/redis:/data
    container_name: redis
    expose:
      - 6379
      
  mongo:
    restart: always
    image: mongo:4.4
    container_name: mongo
    command: "--replSet overleaf"
    volumes:
      - /var/lib/docker/volumes/mongo:/data/db
    expose:
      - 27017
    healthcheck:
      test: "mongo --quiet --eval 'rs.hello().setName ? rs.hello().setName : rs.initiate({_id: \"overleaf\",members:[{_id: 0, host:\"mongo:27017\"}]})'"
    #healthcheck:
    #  test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
      interval: 10s
      timeout: 10s
      retries: 5