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?
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
Thei
before any scheme name means that it is already installed.Update:
Included atexlive
volume to save any packages that were installed, so when recreating the containers, they will persist.Are the packages installed to a persistent volume? Or do they need to be reinstalled after recreating the container?
I checked the volumes that I included in the compose file, and looked for either a
texlive
,tlmgr
or apackage
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!
Check out their quick start guide here, it looks very helpful to me: https://github.com/overleaf/toolkit/blob/master/doc/quick-start-guide.md
I would guess that you need to learn more about Docker usage in general, rather than just looking for a Docker Compose file (which is here, by the way). I’m kind of on a similar journey, and what I’ve learned so far is that you (usually) can’t just copy and paste a Compose script and go. It helps a lot to understand the basics of what you’re doing.
I found this video helpful, but others might have better suggestions: https://www.youtube.com/watch?v=pg19Z8LL06w
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
I would guess that you need to learn more about Docker usage in general, rather than just looking for a Docker Compose file
Yeah, I don’t really like using Docker so I always go for easier option, but my friend uses Docker a lot and also had troubles with Overleaf.
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
I don’t work for university, but I am a student that needs Latex. Overleaf free plan got really bad, even my thesis cannot be compiled now and Overleaf pricing isn’t really great. Student pricing is only for annually subscription, so it is not ideal for me.
I don’t really like using Docker so I always go for easier option
Usually docker is the easiest option as you don’t have to install a lot of dependencies, then set up other services and databases and whatnot. Especially if you use docker-compose.