Skip to main content Mundane Docs

Setup ShareLatex (Overleaf) With Traefik

Base Guide

The base guide for the Setup can be found here:

https://docs.overleaf.com/on-premises/installation/using-the-toolkit

Traefik Support

Ensure overleaf, mongo and redis containers are in the same network.

  1. Create a new network add it to the following files:
  • lib/docker-compose.base.yml
  • lib/docker-compose.mongo.yml
  • lib/docker-compose.mongo.yml

Create the network:

sh code snippet start

docker network create ol-net

sh code snippet end

Add the network definition at the end of each file:

yml code snippet start

networks:
    ol-net:
        external: true

yml code snippet end

Add this to each service definition:

yml code snippet start

services:
    mongo: # or redis / sharelatex
        [...]
        networks:
            - ol-net

yml code snippet end

  1. For lib/docker-compose.base.yml add the traefik labels and the traefik network:

yml code snippet start

services:
    sharelatex:
        [...]
        labels:
            - "traefik.enable=true"
            - "traefik.http.routers.ol.rule=Host(`o.flyin.party`)"
            - "traefik.http.routers.ol.entrypoints=websecure"
            - "traefik.http.routers.ol.tls.certresolver=mydnschallenge"
            - "traefik.docker.network=web"
        networks:
            - web
            - ol-net

networks:
    web:
        external: true
    ol-net:
        external: true

yml code snippet end

Installing Dependencies

To ensure all packages are installed the following commands must run, either via a Dockerfile or interactive shell.

For the Dockefile Approach:

A new Dockerfile must be created and the image line replaced with build: ./Dockerfile in the base docker-compose file.

For the interactive shell run something like `docker compose exec -it <container-name> bash

LaTeX Packages

See https://docs.overleaf.com/on-premises/installation/upgrading-tex-live

The following should work, but I recommend reading the docs beforehand:

! Warning installing all Packages takes a large amount of time ( > 1 hour )

sh code snippet start

tlmgr update --self
tlmgr update -all
tlmgr install scheme-full

sh code snippet end

Pygmentize

sh code snippet start

apt update && apt install python3-pygments

sh code snippet end

Test:

sh code snippet start

pygmentize -V

sh code snippet end

Latexminted

sh code snippet start

apt update && apt install python3-pip

sh code snippet end

sh code snippet start

pip3 install --break-system-packages latexminted

sh code snippet end

Test:

sh code snippet start

latexminted --version

sh code snippet end

Biber

Get latest version of biber and install:

sh code snippet start

wget https://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/current/binaries/Linux/biber-linux_x86_64.tar.gz/download -O biber-linux_x86_64.tar.gz
tar -xzf biber-linux_x86_64.tar.gz
mv biber /usr/local/bin/biber
chmod +x /usr/local/bin/biber

sh code snippet end

Test:

sh code snippet start

/usr/local/bin/biber --version

sh code snippet end