# Toolkit settings

This page describes the environment variables that are supported in the `config/overleaf.rc` file for Toolkit deployments.

The `config/overleaf.rc` file consists of variable definitions in the form `NAME=value`, lines beginning with `#` are treated as comments.

{% hint style="info" %}
It is necessary that you re-create the Docker containers after changing anything in `overleaf.rc` or `variables.env` by running `bin/up`.
{% endhint %}

## Container

### `sharelatex`

| Name                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PROJECT_NAME`               | <p>Sets the value of the <code>--project-name</code> flag supplied to <code>docker-compose</code>. This is useful when running multiple instances of Overleaf on one host, as each instance can have a different project name.<br><br>- <strong>Default</strong>: <code>overleaf</code></p>                                                                                                                                                                                                                                                                                                        |
| `OVERLEAF_IMAGE_NAME`        | <p></p><p>Docker image as used by the Server Pro/CE application container. This is just the Docker image name, the Docker image tag is sourced from <code>config/version</code>.</p><p><br><strong>- Default:</strong></p><ul><li>Server Pro: <code>quay.io/sharelatex/sharelatex-pro</code></li><li>Community Edition: <code>sharelatex/sharelatex</code></li></ul>                                                                                                                                                                                                                               |
| `SERVER_PRO`                 | <p>When set to <code>true</code>, tells the Toolkit to use the Server Pro image (<code>quay.io/sharelatex/sharelatex-pro</code>), rather than the default Server CE image (<code>sharelatex/sharelatex</code>).<br><br>- <strong>Default</strong>: <code>false</code></p>                                                                                                                                                                                                                                                                                                                          |
| `GIT_BRIDGE_ENABLED`         | <p>Set to <code>true</code> to enable the git-bridge feature (Server Pro only). For more infomration see the <a href="https://www.overleaf.com/learn/how-to/Git_integration">Git integration</a> user documentation.</p><p><br><strong>- Default:</strong> <code>false</code></p>                                                                                                                                                                                                                                                                                                                  |
| `GIT_BRIDGE_IMAGE`           | <p></p><p>Docker image as used by the git-bridge container (Server Pro only). This is just the Docker image name, the Docker image tag is sourced from <code>config/version</code>.</p><p><br><strong>- Default:</strong> <code>quay.io/sharelatex/git-bridge</code></p>                                                                                                                                                                                                                                                                                                                           |
| `GIT_BRIDGE_DATA_PATH`       | Sets the path to the directory that will be mounted into the `git-bridge` container (Server Pro only), and used to store the git-repositories. This can be either a full path (beginning with a `/`), or relative to the base directory of the Toolkit.                                                                                                                                                                                                                                                                                                                                            |
| `GIT_BRIDGE_LOG_LEVEL`       | <p></p><p>Configure the logging level of the <code>git-bridge</code> container. Available levels: <code>TRACE</code>, <code>DEBUG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code>.</p><p><br><strong>- Default:</strong> <code>INFO</code></p>                                                                                                                                                                                                                                                                                                                                    |
| `SIBLING_CONTAINERS_ENABLED` | <p>When set to <code>true</code>, tells the Toolkit to use the <strong>Sibling Containers</strong> technique for compiling projects in separate sandboxes, using a separate Docker container for each project. See the <a href="/pages/Rhw5LxIcI8kB9eW9pxmc">Sandboxed Compiles</a> documentation for more information.<br><br>- <strong>Requires</strong>: <code>SERVER\_PRO=true</code><br>- <strong>Default</strong>: <code>true</code></p>                                                                                                                                                     |
| `SIBLING_CONTAINERS_PULL`    | <p>When set to <code>true</code>, tells the Toolkit to automatically pull all TeX Live images set using <code>ALL\_TEX\_LIVE\_DOCKER\_IMAGES</code> in the <strong>config/variables.env</strong> file when using the <code>bin/up</code> command.<br><br><strong>- Default:</strong> <code>true</code></p>                                                                                                                                                                                                                                                                                         |
| `DOCKER_SOCKET_PATH`         | <p>Sets the path to the Docker socket on the host machine (the machine running the Toolkit). When <code>SIBLING\_CONTAINERS\_ENABLED</code> is <code>true</code>, the socket will be mounted into the container, to allow the compiler service to spawn new Docker containers on the host.<br><br>- <strong>Requires</strong>: <code>SIBLING\_CONTAINERS\_ENABLED=true</code><br>- <strong>Default</strong>: <code>/var/run/docker.sock</code></p>                                                                                                                                                 |
| `OVERLEAF_DATA_PATH`         | <p>Sets the path to the directory that will be mounted into the main <code>sharelatex</code> container, and used to store compile data. This can be either a full path (beginning with a <code>/</code>), or relative to the base directory of the Toolkit.<br><br>- <strong>Default</strong>: <code>data/overleaf</code></p>                                                                                                                                                                                                                                                                      |
| `OVERLEAF_LISTEN_IP`         | <p>Sets the host IP address(es) that the container will bind to. For example, if this is set to <code>0.0.0.0</code>, then the web interface will be available on any host IP address. For direct container access the value of <code>OVERLEAF\_LISTEN\_IP</code> must be set to your public IP address. Setting <code>OVERLEAF\_LISTEN\_IP</code> to either <code>0.0.0.0</code> or the external IP of your host will typically cause errors when used in conjunction with the <a href="/pages/tBInJGVK1yg1do6hdSve">TLS Proxy</a>.<br><br>- <strong>Default</strong>: <code>127.0.0.1</code></p> |
| `OVERLEAF_PORT`              | <p>Sets the host port that the container will bind to. For example, if this is set to <code>8099</code> and <code>OVERLEAF\_LISTEN\_IP</code> is set to <code>127.0.0.1</code>, then the web interface will be available on <code><http://localhost:8099></code>.<br><br>- <strong>Default</strong>: <code>80</code></p>                                                                                                                                                                                                                                                                           |
| `OVERLEAF_LOG_PATH`          | <p></p><p>Sets the path to the directory that will be mounted into the main <code>sharelatex</code> container, and used for making application logs available on the Docker host. This can be either a full path (beginning with a <code>/</code>), or relative to the base directory of the Toolkit.</p><p>Remove the config entry to disable the bind-mount. When not set, logs will be discarded when recreating the container. </p><p></p><p>See <a href="/pages/hrXIR6RXZyWjaeoVvawN">here</a> for information on logging.</p><p><br><strong>- Default:</strong> not set</p>                  |

### `mongo`

| Name              | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MONGO_ENABLED`   | <p>When set to <code>true</code>, tells the Toolkit to create a MongoDB container to host the database. When set to <code>false</code>, this container will not be created, and the system will use the MongoDB database specified by <code>MONGO\_URL</code> instead.<br><br>- <strong>Default</strong>: <code>true</code></p>                                                                                                                                 |
| `MONGO_URL`       | <p>Specifies the MongoDB connection URL to use when <code>MONGO\_ENABLED</code> is <code>false</code><br><br>- <strong>Default</strong>: not set</p>                                                                                                                                                                                                                                                                                                            |
| `MONGO_DATA_PATH` | <p>Sets the path to the directory that will be mounted into the <code>mongo</code> container, and used to store the MongoDB database. This can be either a full path (beginning with a <code>/</code>), or relative to the base directory of the toolkit. This option only affects the local <code>mongo</code> container that is created when <code>MONGO\_ENABLED</code> is <code>true</code>.<br><br>- <strong>Default</strong>: <code>data/mongo</code></p> |
| `MONGO_IMAGE`     | <p></p><p>Docker image as used by the MongoDB container. This is just the name of the Docker image, the Docker image tag should go into <code>MONGO\_VERSION</code> (see below).</p><p><br><strong>- Default:</strong> <code>mongo</code></p>                                                                                                                                                                                                                   |
| `MONGO_VERSION`   | <p></p><p>MongoDB version as used by the MongoDB container. The value must start with the major MongoDB version and a dot, e.g. <code>6.0</code> or <code>6.0-with-suffix</code>.</p><p><br><strong>- Default:</strong> <code>6.0</code></p>                                                                                                                                                                                                                    |

### `redis`

| Name                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `REDIS_ENABLED`         | <p>When set to <code>true</code>, tells theToolkit to create a Redis container, to host the redis database. When set to <code>false</code>, this container will not be created, and the system will use the Redis database specified by <code>REDIS\_HOST</code> and <code>REDIS\_PORT</code> instead.<br><br>- <strong>Default</strong>: <code>true</code></p>                                                                                              |
| `REDIS_HOST`            | <p>Specifies the Redis host to use when <code>REDIS\_ENABLED</code> is <code>false</code><br><br>- <strong>Default</strong>: not set</p>                                                                                                                                                                                                                                                                                                                     |
| `REDIS_PORT`            | <p>Specifies the Redis port to use when <code>REDIS\_ENABLED</code> is <code>false</code><br><br>- <strong>Default</strong>: not set</p>                                                                                                                                                                                                                                                                                                                     |
| `REDIS_DATA_PATH`       | <p>Sets the path to the directory that will be mounted into the <code>redis</code> container, and used to store the Redis database. This can be either a full path beginning with a <code>/</code>), or relative to the base directory of the Toolkit. This option only affects the local <code>redis</code> container that is created when <code>REDIS\_ENABLED</code> is <code>true</code>.<br><br>- <strong>Default</strong>: <code>data/redis</code></p> |
| `REDIS_AOF_PERSISTENCE` | <p></p><p>Turn on AOF (Append Only File) persistence for Redis. This is the <strong>recommended</strong> configuration for Redis persistence.</p><p>For additional details, see the <a href="/pages/DsK8pUSgrvAdnJCJmgSi#aof-append-only-file">AOF</a> section in <a href="/pages/DsK8pUSgrvAdnJCJmgSi">Data and backups</a>.</p><p><br><strong>- Default:</strong> <code>true</code></p>                                                                    |

### `nginx`

| Name                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `NGINX_ENABLED`        | <p>When set to <code>true</code>, tells theToolkit to create an NGINX container, to act as a TLS Proxy.<br><br>- <strong>Default</strong>: <code>false</code></p>                                                                                                                                                                                                                                                                                                                                   |
| `NGINX_CONFIG_PATH`    | <p>Path to the NGINX config file to use for the TLS Proxy.<br><br>- <strong>Default</strong>: <code>config/nginx/nginx.conf</code></p>                                                                                                                                                                                                                                                                                                                                                              |
| `NGINX_TLS_LISTEN_IP`  | <p>Sets the host IP address(es) that the TLS Proxy container will bind to for HTTPS. For example, if this is set to <code>0.0.0.0</code> then the HTTPS web interface will be available on any host IP address. Typically this should be set to the external IP of your host.<br><br>- <strong>Default</strong>: <code>127.0.1.1</code></p>                                                                                                                                                         |
| `NGINX_HTTP_LISTEN_IP` | <p>Sets the host IP address(es) that the TLS Proxy container will bind to for http redirect. For example, if this is set to <code>127.0.1.1</code> then HTTP connections to <code>127.0.1.1</code> will be redirected to the HTTPS web interface. Typically this should be set to the external IP of your host. Do not set it to <code>0.0.0.0</code> as this will typically cause a conflict with <code>OVERLEAF\_LISTEN\_IP</code>.<br><br>- <strong>Default</strong>: <code>127.0.1.1</code></p> |
| `NGINX_HTTP_PORT`      | <p>Sets the host port that the TLS Proxy container will bind to for HTTP.<br><br>- <strong>Default</strong>: <code>80</code></p>                                                                                                                                                                                                                                                                                                                                                                    |
| `TLS_PORT`             | <p>Sets the host port that the TLS Proxy container will bind to for HTTPS.<br><br>- <strong>Default</strong>: <code>443</code></p>                                                                                                                                                                                                                                                                                                                                                                  |
| `TLS_PRIVATE_KEY_PATH` | <p>Path to the private key to use for the TLS Proxy.<br><br>- <strong>Default</strong>: <code>config/nginx/certs/overleaf\_key.pem</code></p>                                                                                                                                                                                                                                                                                                                                                       |
| `TLS_CERTIFICATE_PATH` | <p>Path to the public certificate to use for the TLS Proxy.<br><br>- <strong>Default</strong>: <code>config/nginx/certs/overleaf\_certificate.pem</code></p>                                                                                                                                                                                                                                                                                                                                        |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/toolkit-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
