Skip to main content

The Doctor

The Overleaf Toolkit comes with a handy doctor script, to help with debugging. Just run bin/doctor and the script will print out information about your host environment, your configuration, and the dependencies the toolkit needs. This output can also help the Overleaf support team to help you figure out what has gone wrong, in the case of a Server Pro installation.

Getting Help​

Users of the free Community Edition should open an issue on github.

Users of Server Pro should contact support@overleaf.com for assistance.

In both cases, it is a good idea to include the output of the bin/doctor script in your message.

Consulting with the Doctor​

Run the doctor script:

bin/doctor

You will see some output like this:

====== Overleaf Doctor ======
- Host Information
- Linux
- Output of 'lsb_release -a':
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
- Dependencies
- bash
- status: present
- version info: 5.3.9(1)-release
- docker
- status: present
- version info: Docker version 29.5.3, build d1c06ef
- realpath
- status: present
- version info: realpath (uutils coreutils) 0.8.0
- perl
- status: present
- version info: 5.040001
- awk
- status: present
- version info: GNU Awk 5.3.2, API 4.0, PMA Avon 8-g1, (GNU MPFR 4.2.2, GNU MP 6.3.0)
- openssl
- status: present
- version info: OpenSSL 3.5.5 27 Jan 2026 (Library: OpenSSL 3.5.5 27 Jan 2026)
- docker compose
- status: present
- version info: Docker Compose version v5.1.4
- Docker Daemon
- status: up
- server version: 29.5.3
====== Configuration ======
- config/version
- status: present
- version: 6.2.2
- config/overleaf.rc
- status: present
- values
- OVERLEAF_DATA_PATH: data/overleaf
- OVERLEAF_LOG_PATH: not set, keeping logs in container
- SERVER_PRO: false
- SIBLING_CONTAINERS_ENABLED: false
- OVERLEAF_LISTEN_IP: 127.0.0.1
- OVERLEAF_PORT: 8077
- MONGO_ENABLED: true
- MONGO_IMAGE: mongo
- MONGO_VERSION: 8.0
- MONGO_DATA_PATH: data/mongo
- REDIS_ENABLED: true
- REDIS_IMAGE: redis:7.4
- REDIS_AOF_PERSISTENCE: true
- REDIS_DATA_PATH: data/redis
- NGINX_ENABLED: false
- GIT_BRIDGE_ENABLED: null
- config/variables.env
- status: present
- values
- SHARELATEX_FILESTORE_BACKEND: fs
- SHARELATEX_HISTORY_BACKEND: fs
- OVERLEAF_FILESTORE_BACKEND: fs
- OVERLEAF_HISTORY_BACKEND: fs
====== Warnings ======
! Detected SIBLING_CONTAINERS_ENABLED=false. When not using Sibling containers, users have full read and write access to the 'sharelatex' container resources (filesystem, network, environment variables) when running LaTeX compiles. Only use this mode in environments where all users are trusted and no isolation of users is required.
====== End ======

Host Information​

The Host Information section contains information about the machine on which the toolkit is running. This includes information about the type of Linux system being used.

Dependencies​

The Dependencies section shows a list of tools which are required for the toolkit to work. If the tool is present on the system, it will be listed as status: present, along with the version of the tool. For example:

- docker
- status: present
- version info: Docker version 19.03.6, build 369ce74a3c

However, if the tool is missing, it will be listed as status: MISSING!, and a warning will be added to the bottom of the doctor output. For example:

- docker
- status: MISSING!

If any of the dependencies are missing, the toolkit will almost certainly not work.

Configuration​

The Configuration section contains information about the files in the config/ directory. In the case of config/overleaf.rc, the doctor also prints out some of the more important values from the file. If any of the files are not present, they will be listed as status: MISSING!, and a warning will be added to the bottom of the doctor output. For example:

====== Configuration ======
- config/version
- status: present
- version: 2.3.1
- config/overleaf.rc
- status: present
- values
- OVERLEAF_DATA_PATH: /tmp/sharelatex
- SERVER_PRO: false
- MONGO_ENABLED: false
- REDIS_ENABLED: true
- config/variables.env
- status: MISSING!

The above example shows a few problems:

  • The OVERLEAF_DATA_PATH variable is set to /tmp/sharelatex, which is probably not a safe place to put important data
  • The MONGO_ENABLED variable is set to false, so the toolkit will not provision it's own MongoDB database. In this case, we had better be sure to set MONGO_URL to point to a MongoDB database managed outside of the toolkit
  • the config/variables.env file is missing

Warnings​

The Warnings section shows a summary of problems discovered by the doctor script. Or, if there are no problems, this section will say so. For example:

====== Warnings ======
- configuration file variables.env not found
- rc file, OVERLEAF_DATA_PATH not set
====== End =======