Skip to content

Instantly share code, notes, and snippets.

@markedphillips
Last active November 14, 2019 01:34
Show Gist options
  • Save markedphillips/3d566d3721f8c80e313d6ce365cd87a0 to your computer and use it in GitHub Desktop.
Save markedphillips/3d566d3721f8c80e313d6ce365cd87a0 to your computer and use it in GitHub Desktop.

Revisions

  1. markedphillips revised this gist Sep 19, 2019. No changes.
  2. markedphillips created this gist Sep 19, 2019.
    112 changes: 112 additions & 0 deletions docker-compose.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,112 @@
    version: "2.2"
    services:
    sharelatex:
    restart: always
    image: dennis1f/sharelatex-texlive2018 # sharelatex/sharelatex:latest
    container_name: sharelatex
    depends_on:
    mongo:
    condition: service_healthy
    redis:
    condition: service_started
    privileged: true
    ports:
    - 8123:80 # changed because really? port 80
    links:
    - mongo
    - redis
    volumes:
    - ~/Overleaf/sharelatex_data:/var/lib/sharelatex
    - /var/run/docker.sock:/var/run/docker.sock
    environment:
    SHARELATEX_APP_NAME: Overleaf Community Edition

    SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex

    # Same property, unfortunately with different names in
    # different locations
    SHARELATEX_REDIS_HOST: redis
    REDIS_HOST: redis

    ENABLED_LINKED_FILE_TYPES: "url,project_file"

    # Enables Thumbnail generation using ImageMagick
    ENABLE_CONVERSIONS: "true"

    ## Set for SSL via nginx-proxy
    #VIRTUAL_HOST: 103.112.212.22
    # SHARELATEX_SITE_URL: http://sharelatex.mydomain.com
    # SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance
    # SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png
    # SHARELATEX_ADMIN_EMAIL: [email protected]
    # 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: "[email protected]"
    # SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID:
    # SHARELATEX_EMAIL_AWS_SES_SECRET_KEY:
    # SHARELATEX_EMAIL_SMTP_HOST: smtp.mydomain.com
    # SHARELATEX_EMAIL_SMTP_PORT: 587
    # SHARELATEX_EMAIL_SMTP_SECURE: false
    # SHARELATEX_EMAIL_SMTP_USER:
    # SHARELATEX_EMAIL_SMTP_PASS:
    # SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
    # SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false
    # SHARELATEX_CUSTOM_EMAIL_FOOTER: "<div>This system is run by department x </div>"
    ################
    ## Server Pro ##
    ################
    # SANDBOXED_COMPILES: 'true'
    # SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
    # SANDBOXED_COMPILES_HOST_DIR: '/var/clsi/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
    container_name: mongo
    expose:
    - 27017
    volumes:
    - ~/Overleaf/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
    container_name: redis
    expose:
    - 6379
    volumes:
    - ~/Overleaf/redis_data:/data
    # ldap:
    # restart: always
    # image: rroemhild/test-openldap
    # container_name: ldap
    # expose:
    # - 389
    # 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