---
title: "Update the Engine"
description: "Apply a new engine version to your main server, load balancers and reverse proxies from the panel, one by one or all at once."
---

When we publish a new version of the engine, you apply it from **Servers**. Most servers update themselves with one click, without SSH. You can update one server at a time, or all of them with **Update all**.

> [!TIP]
> Update the **main server first**, then the load balancers and reverse proxies. Many new features only appear when the main server runs the new version.

## Where you see a new version

Open **Servers**. When a server can be updated:

- In its version column there is a link with the tooltip **Click to upgrade to** and the new version.
- In **Actions** there is a button with the tooltip **Update to** and the new version.
- If the server is offline, the tooltip says that an update is available but the server must be online. Bring it online first.
- At the top of the page, **Update all** shows how many servers can be updated, for example **Update all (3)**.

## Update one server

1. In **Servers**, click the update link or button of the server.
2. The **Upgrade Server Software** window opens. Check **Server to upgrade** (it lists only online servers with a pending update) and **Version Upgrade** (current version and new version).
3. The panel picks the best way to update that server:
   - **Update from panel** (engine 2.2.1 or newer). The server downloads the new version, makes a database backup first if it is the main server, and applies the update. No SSH needed. Click **Start Update**.
   - **With SSH** (older engines). Choose **Use stored SSH credentials** (the login the panel saved when it installed the server) or **Provide new SSH credentials** and fill in **SSH Username**, **SSH Password** and **SSH Port**. Click **Start Upgrade**.
4. Keep the page open and follow the progress.

You can also use SSH on a server that supports the update from panel: click **Use SSH credentials instead**.

> [!NOTE]
> If a server runs a beta build of the same version we published, the panel shows it as "beta" and moves it to the final build over SSH. The next update can be done from the panel again.

## Update all servers at once

1. In **Servers**, click **Update all**.
2. The **Update servers** page shows the plan: the main server goes first, alone. If it fails, nothing else is touched. Then the load balancers and proxies update at the same time, up to 5 at a time.
3. Click **Start update**.

The update runs on our side. You can close the page and come back later. You see the result on this page, on the **Servers** list and on the [Dashboard](/docs/dashboard). To stop it, click **Stop after the ones in progress**: the servers that are already updating finish, and the rest do not start.

A server that cannot update from the panel uses SSH with its stored login. Under **Needs attention** you see the servers that are skipped:

- A server that cannot update itself and has no saved SSH login. Click **Update with SSH** next to it and enter the SSH login once.
- A server that is offline. It shows up again when it is back online.

## What happens during the update

- The progress goes through "Waiting for update to start...", "Pending update..." and "Update in progress...". It ends with **Update completed** (old version to new version) or **Update failed**, with the details in the log below.
- Each server restarts its engine at the end, so its streams stop for a moment.
- When you update the main server, the panel can be unavailable for about a minute. You can see "Services are restarting, reconnecting to the panel...". The panel reconnects on its own.
- If you leave and come back while an update is running, the page attaches to it again.

## Common problems

- **"All servers are up to date."** There is nothing to update.
- **"The server must be online to perform an update"** Turn the server on or fix its connection, then try again.
- **"This engine does not support panel-triggered updates yet. Run one update via SSH first, then this option becomes available."** Do this update over SSH. The next one can be done from the panel.
- **"Stored SSH credentials no longer work. Enter new ones to retry."** The SSH password of the server changed. Enter the new one and click **Retry upgrade**.
- **"There is already an installation or upgrade job running for this server."** Wait for the current job to finish.
- **"Server role mismatch between the panel and the license registry. Contact support before updating this server."** Do not try again. Contact support first.
- **"The engine is rate-limiting update requests"** Two updates were requested too close together. Wait a minute.
- **"Unable to reach the engine"** The server does not answer. Check that it is on and that its port is not blocked.
- **The update keeps running for a long time after "Services are restarting"** The update is still running on the server. Give it a few more minutes before you reload.

## Related

- [Installation](/docs/installation)
- [Add a Load Balancer Server](/docs/load-balancer-server)
- [Configure the Reverse Proxy](/docs/reverse-proxy)
- [Dashboard](/docs/dashboard)
- [Introduction](/docs/introduction)
