🍃 A simple setup guide to selfhost Overleaf
.gitignore | ||
docker-compose.yaml | ||
hnu-logo-white.svg | ||
hnu-logo.svg | ||
README.md | ||
setup-replica-set.sh |
Overleaf Setup
Getting started
- Upload the docker-compose.yaml to the server directory.
- Start the MongoDB alone using
docker compose up -d mongo
and wait about 15 seconds for it to start. - Execute the script setup-replica-set.sh to create the ReplicaSet, required by the sharedlatex container
- Now start all other containers using
docker compose up -d
Docker Overview
- What does the Compose stack contain?
The compose stack consists of three containers.
The sharelatex container is the actual Overleaf application,
containing the frontend and the backend of the application.
It requires two different datasources, a MongoDB and a Redis.
- How to access the application?
The docker-compose.yaml file in this repository is setup to
automatically connect to a running [Treafik](https://traefik.io)
instance. If a different reverse proxy is used, the traefik labels
can be removed and the required configuration has to be added.
- Why setting up a ReplicaSet with a single MongoDB instance?
The Overleaf application depends on using transactions. Transactions are
only supported by MongoDB if a Replica Set is active.
- Where is the data stored?
All relevant data from each container is bound to a Docker volume each.