Getting help
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.
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':
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
- Dependencies
- bash
- status: present
- version info: 5.1.16(1)-release
- docker
- status: present
- version info: Docker version 28.0.4, build b8034c0
- docker compose
- status: present
- version info: Docker Compose version v2.34.0
- realpath
- status: present
- version info: realpath (GNU coreutils) 8.32
- perl
- status: present
- version info: 5.034000
- awk
- status: present
- version info: mawk 1.3.4 20200120
- Docker Daemon
- status: up
====== Configuration ======
- config/version
- status: present
- version: 5.4.0
- config/overleaf.rc
- status: present
- values
- OVERLEAF_DATA_PATH: data/overleaf
- OVERLEAF_LOG_PATH: data/overleaf/logs
- SERVER_PRO: true
- SIBLING_CONTAINERS_ENABLED: true
- logged in to quay.io: true
- MONGO_ENABLED: true
- REDIS_ENABLED: true
- config/variables.env
- status: present
- values
- OVERLEAF_FILESTORE_BACKEND: fs
- OVERLEAF_HISTORY_BACKEND: fs
====== Warnings ======
- None, all good
====== 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 28.0.4, build b8034c0
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: 5.4.0
- config/overleaf.rc
- status: present
- values
- OVERLEAF_DATA_PATH: /tmp/overleaf
- 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/overleaf
, which is probably not a safe place to put important dataThe
MONGO_ENABLED
variable is set tofalse
, so the Toolkit will not provision it's own MongoDB database. In this case, we had better be sure to setMONGO_URL
to point to a MongoDB database managed outside of the toolkitthe
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 =======
Last updated
Was this helpful?