Sign inSign up

fuming/sharelatex

By fuming

•Updated almost 2 years ago

Image
1

679

fuming/sharelatex repository overview

Dockerfile:

FROM sharelatex/sharelatex:5.2.1
RUN tlmgr install scheme-full
RUN tlmgr option repository ctan && tlmgr update --self && \
    tlmgr install latexmk && \
    apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

docker-compose.yaml:

version: '2.2'
services:
    sharelatex:
        image: sharelatex/sharelatex:5.2.1-with-texlive-full
        container_name: sharelatex
        restart: always
        depends_on:
            mongo:
                condition: service_healthy
            redis:
                condition: service_started
        ports:
            - 38547:80
        stop_grace_period: 60s
        volumes:
            - ./sharelatex_data:/var/lib/overleaf
        environment:
            OVERLEAF_APP_NAME: Overleaf Community Edition
            OVERLEAF_MONGO_URL: mongodb://mongo/sharelatex

            # Same property, unfortunately with different names in
            # different locations
            OVERLEAF_REDIS_HOST: redis
            REDIS_HOST: redis
            #OVERLEAF_REDIS_PORT: 6379
            #OVERLEAF_REDIS_PASS: 123456
            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/overleaf/tmp/texmf-var
            ## Set for SSL via nginx-proxy
            #VIRTUAL_HOST: 103.112.212.22
            OVERLEAF_NAV_TITLE: Overleaf Community Edition
            # OVERLEAF_HEADER_IMAGE_URL: http://example.com/mylogo.png
            OVERLEAF_ADMIN_EMAIL: [email protected]

            # OVERLEAF_LEFT_FOOTER: '[{"text": "Another page I want to link to can be found <a href=\"here\">here</a>"} ]'
            # OVERLEAF_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]'

            # OVERLEAF_EMAIL_FROM_ADDRESS: "[email protected]"

            # OVERLEAF_EMAIL_AWS_SES_ACCESS_KEY_ID:
            # OVERLEAF_EMAIL_AWS_SES_SECRET_KEY:

            # OVERLEAF_EMAIL_SMTP_HOST: smtp.example.com
            # OVERLEAF_EMAIL_SMTP_PORT: 587
            # OVERLEAF_EMAIL_SMTP_SECURE: false
            # OVERLEAF_EMAIL_SMTP_USER:
            # OVERLEAF_EMAIL_SMTP_PASS:
            # OVERLEAF_EMAIL_SMTP_TLS_REJECT_UNAUTH: true
            # OVERLEAF_EMAIL_SMTP_IGNORE_TLS: false
            # OVERLEAF_EMAIL_SMTP_NAME: '127.0.0.1'
            # OVERLEAF_EMAIL_SMTP_LOGGER: true
            # OVERLEAF_CUSTOM_EMAIL_FOOTER: "This system is run by department x"

            # ENABLE_CRON_RESOURCE_DELETION: true

            ################
            ## Server Pro ##
            ################

            ## Sandboxed Compiles: https://github.com/overleaf/overleaf/wiki/Server-Pro:-Sandboxed-Compiles
            #SANDBOXED_COMPILES: 'true'
            #SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true'
            #OVERLEAF_SITE_URL: http://your.doamin.com
            ### Bind-mount source for /var/lib/overleaf/data/compiles inside the container.
            SANDBOXED_COMPILES_HOST_DIR: '/home/user/sharelatex_data/data/compiles'

            ## Works with test LDAP server shown at bottom of docker compose
            # OVERLEAF_LDAP_URL: 'ldap://ldap:389'
            # OVERLEAF_LDAP_SEARCH_BASE: 'ou=people,dc=planetexpress,dc=com'
            # OVERLEAF_LDAP_SEARCH_FILTER: '(uid={{username}})'
            # OVERLEAF_LDAP_BIND_DN: 'cn=admin,dc=planetexpress,dc=com'
            # OVERLEAF_LDAP_BIND_CREDENTIALS: 'GoodNewsEveryone'
            # OVERLEAF_LDAP_EMAIL_ATT: 'mail'
            # OVERLEAF_LDAP_NAME_ATT: 'cn'
            # OVERLEAF_LDAP_LAST_NAME_ATT: 'sn'
            # OVERLEAF_LDAP_UPDATE_USER_DETAILS_ON_LOGIN: 'true'

            # OVERLEAF_TEMPLATES_USER_ID: "578773160210479700917ee5"
            # OVERLEAF_NEW_PROJECT_TEMPLATE_LINKS: '[ {"name":"All Templates","url":"/templates/all"}]'


            # OVERLEAF_PROXY_LEARN: "true"
            OVERLEAF_SECURE_COOKIE: true
            OVERLEAF_BEHIND_PROXY: true

    mongo:
        restart: always
        image: mongo:5.0.8
        container_name: overleaf_mongo
        command: '--replSet overleaf'
        volumes:
            - ./mongo_data:/data/db
            - ./mongodb-init-replica-set.js:/docker-entrypoint-initdb.d/mongodb-init-replica-set.js
        environment:
          MONGO_INITDB_DATABASE: sharelatex
        extra_hosts:
          # Required when using the automatic database setup for initializing the replica set.
          # This override is not needed when running the setup after starting up mongo.
          - mongo:127.0.0.1
        healthcheck:
            test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet
            interval: 10s
            timeout: 10s
            retries: 5

    redis:
        restart: always
        image: redis:6.2
        container_name: overleaf_redis
        volumes:
            - ./redis_data:/data

mongodb-init-replica-set.js:

rs.initiate({ _id: "overleaf", members: [ { _id: 0, host: "mongo:27017" } ] })

Tag summary

Content type

Image

Digest

sha256:6c6a5da5b…

Size

2.7 GB

Last updated

almost 2 years ago

docker pull fuming/sharelatex:5.2.1-with-texlive-full