---
title: Remote Updates
description: Check for outdated nodes and trigger over-the-air Sencho updates from the Fleet View.
---

Sencho can update remote nodes directly from the dashboard. When your primary instance is running a newer version than a remote node, a one-click update pulls the latest image and recreates the container automatically.

<Note>
  Remote updates require a **Skipper** or **Admiral** license.
</Note>

## Prerequisites

Remote updates work when each node meets these conditions:

- Deployed via **Docker Compose** (the recommended method)
- The Docker socket (`/var/run/docker.sock`) is mounted into the container
- Running a Sencho version that supports the `self-update` [capability](/features/node-compatibility)

Nodes deployed with `docker run` or orchestrators like Kubernetes do not support self-update. These nodes show an error message when you attempt to update them.

## Checking for updates

Open the **Fleet** tab and click **Check Updates** in the header. This opens the **Node Updates** dialog, which lists every node with its current version and update status.

<Frame>
  <img src="/images/fleet-view/fleet-node-updates.png" alt="Node Updates dialog showing update status for each node" />
</Frame>

The dialog includes:

- **Summary cards** at the top showing counts of nodes that are Up to date, have updates Available, are currently Updating, or have Failed
- **Gateway version** label showing your primary instance's version
- **Filter** search box to find specific nodes by name or type
- **Node table** with columns for name, type, current version, latest version, and status

Each node's status column shows one of:

| Status | Meaning |
|--------|---------|
| **Up to date** badge | Node is running the same version as the gateway |
| **Update** button | A newer version is available; click to update |
| **Updating** badge | The node is pulling the new image and restarting |
| **Updated** badge | The node came back online with the new version |
| **Timed out** badge | The node did not come back within 5 minutes |
| **Failed** badge | The update command failed |

Nodes that are too old to report their version show "unknown" in the current version column. These nodes are treated as outdated.

## Updating a single node

You can trigger an update in two ways:

- Click the **Update** button next to a node in the Node Updates dialog
- Click the **Update to vX.Y.Z** button directly on a node card in Fleet View

For remote nodes, the update happens in the background. The Fleet View automatically polls at a faster rate (every 5 seconds) while an update is in progress, so you can watch the status change in near real-time.

## Updating all nodes

Click **Update All (N)** in the footer of the Node Updates dialog to trigger updates on all outdated remote nodes simultaneously. The local node is excluded from bulk updates to avoid losing dashboard connectivity.

## Local node updates

When you update the local (gateway) node:

1. A confirmation dialog appears explaining that the dashboard will briefly disconnect.
2. After confirming, the server pulls the latest image and restarts.
3. A reconnecting overlay appears and polls the server every few seconds.
4. The page automatically reloads when the server comes back.

If the server does not return within 5 minutes, a timeout message appears with a manual reload option.

## What happens during an update

When an update is triggered on a node, Sencho:

1. Pulls the latest `saelix/sencho` image using Docker Compose
2. Recreates the container with the new image
3. The node goes briefly offline during the restart

The gateway monitors the remote node until it comes back online with the new version, then marks it as **Updated**.

If you run into issues with remote updates, see the [Troubleshooting](/operations/troubleshooting#remote-update-button-does-not-appear) page.
