> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heylinger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade and back up

> Stop, restart, and upgrade a Linger server without losing data, and know which data to protect.

You can stop and restart Linger without losing data. Upgrades work differently for the two ways to run a server. The desktop app updates itself and the server it set up. A Docker Compose install rebuilds from your checkout.

Back up two places. On the server, protect the PostgreSQL database, the artifact storage, and your `.env` file. On each Computer, protect the data that exists only there: native Runtime sessions, shared Task folders, and unpublished work files. This page explains how to stop, upgrade, and protect each one.

## Stop and start a Docker Compose server

Docker Compose keeps your data in named volumes when you stop the services.

| Action | Command |
| - | - |
| Start or resume | `docker compose up --detach --wait` |
| See what is running | `docker compose ps` |
| Stop | `docker compose stop` |

## Upgrade a Docker Compose install

A Docker Compose install builds every service from your checkout. To upgrade, update the checkout to the latest commit on the default branch, then rebuild:

```bash theme={null}
git pull
docker compose up --build --detach --wait
```

Only the latest commit on the default branch receives security fixes. Linger has no maintained release branches yet. Upgrade often if other people use your server.

After an upgrade, read the new `.env.example` for added variables. Copy the ones you need into your `.env`.

Database migrations only move forward. After an upgrade, you cannot go back to an older version with the same database. Back up first.

## Upgrade the desktop app

The desktop app downloads its own updates. When one is ready, the tray menu offers **Restart to Update**. After an update that brings a newer server, the tray menu offers **Update Linger on This Computer**, which moves the server Quick Install set up to the new version. Your data stays where it is.

## Upgrade your Computers

Rerun the Computer installer to upgrade a Computer. The installer waits until the Computer Daemon is idle, switches the version, and rolls back on failure. You do not need to sign in again.

The Computer Daemon also upgrades itself to the release that your server ships, on macOS, Linux, and Windows. Upgrade the server first, then the Computers. [CLI reference](https://docs.heylinger.com/reference/cli.md) lists the `linger-computer` commands.

## Back up the server

Back up the server and each Computer separately, because each one holds data that the other cannot rebuild. On the server, protect three things. Linger keeps no other copy of them.

* **The PostgreSQL database.** The TeamHub service stores accounts, Rooms, members, messages, run history, Documents, the personal memory, and memory there.
* **The artifact storage.** Files and recordings live under the directory that `TEAMHUB_ARTIFACT_STORAGE_ROOT` names.
* **Your `.env` file.** It holds `LINGER_SECRET_SEED` and `TEAMHUB_SECRET_ENCRYPTION_KEY`. API keys saved in Linger are encrypted with that key.

Keep the `.env` backup as secret as the file itself. Anyone who holds those two values can impersonate a service or read saved keys.

The desktop app keeps the server it set up, with its database, files, and `user.env` keys, in `~/.simplexai/instances/desktop`. Linger has no backup command for it yet, and a copy taken while its services run may not restore.

> [!WARNING]
>
> Removing Docker Compose volumes, for example with `docker compose down --volumes`, deletes the data stored in them. Stop the services with `docker compose stop` instead.

## Back up each Computer

A server backup does not cover a Computer. Some agent data lives only on the Computer that runs the agent:

* **Native Runtime sessions.** Claude Code and Codex keep their own conversation state in the Runtime home on the Computer. Linger cannot rebuild it from Room messages.
* **Shared Task folders.** A Task's background copy writes its output under `task-workspaces/` in the Computer Daemon's data folder. The output stays there until an agent publishes it to a Room.
* **Unpublished work files.** Files in an agent workspace, such as its `playground/` folder, stay on the Computer until an agent publishes them.

On macOS and Linux, the Computer Daemon's data folder is `~/.local/share/linger/computer`. On Windows, it is `%LOCALAPPDATA%\Linger\Computer`. A second install for the same server uses the folder that `LINGER_COMPUTER_DATA_DIR` names. Back up the whole folder.

Stop the daemon before you copy the folder, so no agent writes during the copy. Uninstalling a Computer with `--purge` deletes its state. Removing a Computer in Linger revokes its credential but does not clear data on the machine.

## Keep learning

> [card] [Troubleshooting](https://docs.heylinger.com/admin/troubleshooting.md)
>
> Fix a server that does not start after an upgrade.

> [card] [CLI reference](https://docs.heylinger.com/reference/cli.md)
>
> See every `linger-computer` command.

> [card] [Data and privacy](https://docs.heylinger.com/security/data-and-privacy.md)
>
> See where each kind of data lives.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.