# Upgrading TeX Live

To save bandwidth, both the Overleaf Community Edition and Server Pro images only come with a minimal install of [TeX Live](https://www.tug.org/texlive/). You can install more packages or upgrade to a complete TeX Live installation using the [tlmgr](https://www.tug.org/texlive/tlmgr.html) command in the `sharelatex` container.

{% hint style="warning" %}
The following instructions **only** apply to Community Edition installations. We highly recommend that Server Pro users enable [Sandboxed Compiles](/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles.md) as this provides users with access to the same TeX Live images used on [overleaf.com](/on-premises/configuration/overleaf-toolkit.md) as well as providing isolation between project compiles for enhanced security.&#x20;
{% endhint %}

### Getting inside the sharelatex container

To start a shell inside the `sharelatex` container, run

```bash
bin/shell
```

You will get a prompt that looks like:

```bash
root@309b192d4030:/#
```

In the following instructions, we will assume that you are in the container.

### Determining your current TeX Live version

TeX Live is released every year around the month of April. Steps for using `tlmgr` are different depending on whether you are using the current release or an older one. You can check which version of TeX Live you are running with `tlmgr --version`. For example, this installation runs TeX Live 2021:

```bash
tlmgr --version
# tlmgr revision 76773 (2025-11-06 20:43:29 +0100)
# tlmgr using installation: /usr/local/texlive/2025
# TeX Live (https://tug.org/texlive) version 2025
```

{% hint style="info" %}
The current release of TeX Live can be found on [the TeX Live homepage](https://www.tug.org/texlive/).
{% endhint %}

If you are running an older TeX Live version, you have two options. A new version of the Overleaf Docker image is usually released shortly after a TeX Live release, you can either wait for it and upgrade your deployment using `bin/upgrade` script, or, if you prefer to keep the older TeX Live release, you will first need to tell `tlmgr` to use a historic repository. You will find instructions for doing so [here](https://www.tug.org/texlive/acquire.html#past).

### Updating packages

<pre class="language-bash"><code class="lang-bash"># Update the package manager
<strong>tlmgr update --self
</strong># Update all installed LaTeX packages
tlmgr update --all
</code></pre>

### Installing packages

To install a complete TeX Live installation, run this command inside the `sharelatex` container:

```bash
tlmgr install scheme-full
```

You can also install individual packages manually:

```bash
tlmgr install tikzlings tikzmarmots tikzducks
```

{% hint style="warning" %}
From `3.3.0` release onwards running `tlmgr path add` is **required** again after every use of `tlmgr install`, in order to correctly symlink all the binaries into the system path.
{% endhint %}

```bash
tlmgr path add
```

{% hint style="info" %}
Many more commands are available. Find out more with: `tlmgr help`
{% endhint %}

When you're done, type `exit` or press Control-D to exit the shell.

### Saving your changes

The changes you've just made have changed the `sharelatex` container, but they are ephemeral -- they will be lost if Docker Compose recreates the container, e.g. as part of updating the config.

To make them persistent, use `docker commit` to save the changes to a new docker image:

```bash
cat config/version 
# 6.1.1
docker commit sharelatex sharelatex/sharelatex:6.1.1-with-texlive-full
# sha256:ceaa24dd3f01dfd390eebe92ac0317d1d03b6a1baf8fd08e74c309b461416687
echo 6.1.1-with-texlive-full > config/version
```

After committing the changes, update the `config/version` accordingly. Then run `bin/up -d`, to recreate the `sharelatex` container.

{% hint style="danger" %}
You will need to repeat these steps each time you [upgrade](https://github.com/overleaf/toolkit/blob/master/doc/upgrading.md) to a new Overleaf version.
{% endhint %}


---

# 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/installation/upgrading-tex-live.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.
