• 0 Posts
  • 7 Comments
Joined 11 months ago
cake
Cake day: August 16th, 2023

help-circle


  • Also, I’d like to point out that Overleaf’s hosting and pricing options are quite reasonable, especially if you’re working for a university or institution: https://www.overleaf.com/user/subscription/plans

    While I did take advantage of the free Overleaf Pro during my university days, I don’t have it anymore after graduating, and so I’m missing some features which their free tier doesn’t have.
    By self-hosting I’m given better control, and all those features I once had before.

    Also, the whole point of this community is to kind of avoid relying on third-party hosting, and especially paying for it too🙂


  • 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!


  • 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
                - texlive:/usr/local/texlive
    
            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:
      texlive:
    

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

    Optionally—since the full scheme takes about 8 GB and you may not need everything—you can replace scheme-full with a different scheme you can find by running
    docker exec sharelatex-sharelatex-1 tlmgr info schemes
    The i before any scheme name means that it is already installed.

    Update:
    Included a texlive volume to save any packages that were installed, so when recreating the containers, they will persist.