Do any of you self-host Overleaf? I know there is a Docker project, but from what I’ve heard it’s not easy to install. The Yunohost version used to work but didn’t support file upload, so that makes it bad too.

Have any of you successfully installed Overleaf with e.g. Docker and it works just fine? If so, could any of you share e.g. the Docker Compose file?

  • november@iusearchlinux.fyi
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    There’s some tinkering with their docker-compose.yml to make it work. Here’s mine you can copy if you want to get it up and running. I don’t use nginx or any reverse-proxy btw. All data is saved in their own individual volumes which you can back up:

    services:
        sharelatex:
            restart: always
            image: sharelatex/sharelatex
            depends_on:
                mongo:
                    condition: service_healthy
                redis:
                    condition: service_started
            ports:
                - *DESIRED_PORT*:80
            links:
                - mongo
                - redis
            stop_grace_period: 60s
            volumes:
                - data:/var/lib/sharelatex
            environment:
                SHARELATEX_APP_NAME: Overleaf Community Edition
                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'
    
        mongo:
            command: "--replSet overleaf"
            restart: always
            image: mongo:4.4
            expose:
                - 27017
            volumes:
                - 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:6.2
            expose:
                - 6379
            volumes:
                - redis_data:/data
    
    volumes:
      data:
      mongo_data:
      redis_data:
    

    Some of my documents relied on certain packages which don’t come with the Docker image. You will need to run docker exec sharelatex-sharelatex-1 tlmgr install scheme-full so that you can render your documents properly if they utilize certain packages.

    • Keelhaul@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Are the packages installed to a persistent volume? Or do they need to be reinstalled after recreating the container?

      • november@iusearchlinux.fyi
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        I checked the volumes that I included in the compose file, and looked for either a texlive, tlmgr or a package folder and didn’t find anything. I think it’s safe to assume that you would need to reinstall the packages if you recreated the containers.

        This is a problem that I didn’t consider. I will try to make an update to my compose file that will keep the packages persistent.

        Check above for the update!