🍃 A simple setup guide to selfhost Overleaf
Find a file
2025-04-07 11:29:47 +02:00
.gitignore Initial commit 2025-04-07 11:13:30 +02:00
docker-compose.yaml Update header image url 2025-04-07 11:29:47 +02:00
hnu-logo-white.svg Initial commit 2025-04-07 11:13:30 +02:00
hnu-logo.svg Initial commit 2025-04-07 11:13:30 +02:00
README.md Initial commit 2025-04-07 11:13:30 +02:00
setup-replica-set.sh Initial commit 2025-04-07 11:13:30 +02:00

Overleaf Setup

Getting started

  1. Upload the docker-compose.yaml to the server directory.
  2. Start the MongoDB alone using docker compose up -d mongo and wait about 15 seconds for it to start.
  3. Execute the script setup-replica-set.sh to create the ReplicaSet, required by the sharedlatex container
  4. Now start all other containers using docker compose up -d

Docker Overview

  1. 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.
  1. 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.
  1. 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.
  1. Where is the data stored?
   All relevant data from each container is bound to a Docker volume each.