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

> ## Agent Instructions
> Use the documentation index to find relevant pages, then read the linked Markdown before answering and cite the source URL.
> Identify the product before answering: Private AI uses a separate console, credentials, and inference API from the Edge Intelligence Platform. Do not apply instructions from one product to the other.
> Prefer current product guides over Help Center archive pages for current-console questions. Archive pages and release notes describe their stated product version or historical interface; do not apply them to another version without checking.
> Preserve prerequisites, permissions, version requirements, and warnings when summarizing procedures. Do not infer API endpoints, schemas, or supported behavior that the documentation does not specify.

# Configure Edge Synchronization

> Set up and configure Edge Sync, an HTTP server that acts as a local controller for nodes when they cannot reach Edge Infrastructure Services.

## Introduction

Edge Synchronization (Edge Sync, formerly called Local Operator Console) is an HTTP server that you run on your local network to manage nodes when they cannot reach Edge Infrastructure Services. Edge Sync stands in for Edge Infrastructure Services as a controller during planned outages, in airgapped environments, or during the transition from an airgapped network to a cloud-connected one.

![Diagram showing the Edge Sync server on the local network standing in for Edge Infrastructure Services as a controller for airgapped nodes](https://mintcdn.com/zededa/nH470gZ2VKSQBZu8/new-ui/infrastructure-services/nodes/images/edge_sync.png?fit=max\&auto=format\&n=nH470gZ2VKSQBZu8\&q=85\&s=aacca8a6deca6f527ecfeab6e9102d41)

Edge Sync handles node and edge application configuration management and collects runtime metrics from nodes and applications. It does not replace Edge Infrastructure Services entirely. When a node can reach Edge Infrastructure Services, it always prioritizes cloud configurations. When it cannot, it falls back to Edge Sync.

You can run Edge Sync on any machine that your nodes can reach over a local network (for example, a LAN or WLAN). Edge Sync runs as a Docker container and exposes two ports: `1180` for the API and GUI, and `8100` for the local datastore.

### Prerequisites

* Nodes must be running EVE-OS (Edge Virtualization Engine) 9.7 or greater.
* Nodes must already be onboarded to Edge Infrastructure Services before using Edge Sync. Edge Sync does not support onboarding.
* Docker must be installed on the machine that will run the Edge Sync server.
* Edge Sync cannot manage a node that it runs on. Run it on a separate machine.
* You have the SysManager or SysAdmin role in your enterprise. See [Manage Roles](https://zededa.mintlify.site/new-ui/infrastructure-services/administration/manage-roles.md).
* To use the `collect-info.sh` diagnostic feature with Edge Sync (requires EVE-OS 14.5.2-LTS or greater): a local HTTP datastore configured within the airgapped environment.

## Set Up the Edge Sync Server

### Download Edge Sync

The Edge Sync Docker image is hosted on Docker Hub.

1. Open a terminal on the machine that will run Edge Sync.
2. Pull the Edge Sync image:

```text theme={"dark"}
docker pull zededa/edge-sync
```

3. Verify the image downloaded successfully:

```text theme={"dark"}
docker images
```

Confirm that the output includes a row for `zededa/edge-sync`.

### Start Edge Sync

Run the Edge Sync container. This command opens port `1180` for the API and GUI, and port `8100` for the local datastore:

```text theme={"dark"}
docker run -p 1180:1180 -p 8100:8100 zededa/edge-sync
```

After the container starts, the Edge Sync GUI is available at `http://<YOUR_EDGE_SYNC_IP_ADDRESS>:1180`.

## Enable Edge Sync on Nodes

Nodes will only fall back to Edge Sync if you enable the feature for each node. You can enable it per-node or across all nodes in a project.

### On an individual node

1. Open **Infrastructure > Fleet > Nodes**.
2. Click the name of the node you want to configure.
3. Click the **Configure** (⚙) button in the top-right corner of the node detail page.
4. In the Configure overlay, select **General Settings > Administration**.
5. Enable the **Edge Sync** toggle.
6. In the **Edge Sync URL** field, enter the URL of your Edge Sync server in the format `http://<YOUR_EDGE_SYNC_IP_ADDRESS>:1180`.
7. Optionally, in the **Data Store** selector, select a local HTTP or HTTPS datastore. This is required if you intend to use the `collect-info.sh` diagnostic feature.
8. Click **Save**.

### In a project policy (new project)

1. Open **Infrastructure > Fleet > Projects**.
2. Click the **Add** button (floating button in the lower right of the page).
3. Select **Standard** or **Deployment** as the project type.
4. Complete the **Identity** step and click **Next**.
5. On the **Policies** step, locate the **Edge Sync Policy** card and enable its toggle.
6. Click **Configure** on the Edge Sync Policy card to open the configuration dialog.
7. In the **Edge Sync URL** field, enter your Edge Sync server URL.
8. Optionally, select the local datastore in the **Data Store** field.
9. Click **Save**, then proceed to the Review step and click **Create Project**.

### In a project policy (existing project)

1. Open **Infrastructure > Fleet > Projects**.
2. Click the name of the project.
3. Click the **Configure** (gear) button in the upper right.
4. Click the **Policies** tab.
5. Enable the **Edge Sync Policy** toggle and enter the Edge Sync URL.
6. Click **Save Changes**.

## Download Node Configurations from Edge Infrastructure Services

Before your Edge Sync server can serve configurations to nodes, you must download the configuration from Edge Infrastructure Services and import it into Edge Sync. Download one node at a time.

1. Open **Infrastructure > Fleet > Nodes**.
2. Click the name of the node.
3. In the node detail page header, click the **...** (More actions) button and select **Download Edge Sync Config**.
4. Locate the downloaded configuration file. The file is named `edge_sync_config_{timestamp}.json`.

Repeat this for each node you want to manage from Edge Sync.

## Import and Apply Configurations in Edge Sync

After downloading configurations from Edge Infrastructure Services, import them into your Edge Sync server.

### Import configurations

1. In your browser, navigate to `http://<YOUR_EDGE_SYNC_IP_ADDRESS>:1180`.
2. Click the **Nodes** tab.
3. Click the **Import Configuration** menu.
4. Drag and drop or select the downloaded configuration file.
5. Click **Import Configuration**.

### Apply configurations

After importing, apply configurations to nodes that have updates available.

1. In the Edge Sync GUI, click the **Nodes** tab.
2. Select the checkboxes for the nodes you want to update.
3. Click the **Apply Configuration** menu.
4. Click **Apply Configuration**.

## Manage Nodes and Applications from Edge Sync

Management actions in Edge Sync are only available for nodes that are not currently connected to Edge Infrastructure Services.

### Node actions

1. In the Edge Sync GUI, click the **Nodes** tab.
2. Select the checkboxes for the nodes you want to manage.
3. Click the **...** icon and select an action:

| Action | Description |
| - | - |
| **Shutdown** | Gracefully shuts down all applications on the node. |
| **Power Off** | Shuts down all applications and powers off the node. App instances return to their previous state when the node powers back on. |
| **Reboot** | Reboots the node. |
| **Collect Info** | Triggers `collect-info.sh` on the node and pushes the resulting archive to the configured local datastore. Requires EVE-OS 14.5.2-LTS or greater and a local HTTP datastore configured in the Edge Sync settings. |

4. Confirm the action when prompted.

### Application instance actions

1. In the Edge Sync GUI, click the **Edge Apps** tab.
2. Select the checkboxes for the app instances you want to manage.
3. Click the **...** icon and select an action:

| Action | Description |
| - | - |
| **Restart** | Restarts the selected application instance. |
| **Purge** | Purges the application instance and returns it to its initial state. |

4. Confirm the action when prompted.

## Use the Edge Sync API

You can also manage nodes and applications programmatically using the Edge Sync REST API. Set the base URL:

```text theme={"dark"}
export LOCURL=http://<YOUR_EDGE_SYNC_IP_ADDRESS>:1180
```

Key endpoints under `/api/v1/user`:

| Endpoint | Method | Description |
| - | - | - |
| `/config` | POST | Upload a device configuration bundle downloaded from Edge Infrastructure Services. |
| `/devs` | GET | List UUIDs of all currently online nodes. |
| `/id/$UUID/info` | GET | Get the latest info message for a specific node. |
| `/id/$UUID/metrics` | GET | Get the latest metrics for a specific node. |
| `/id/$UUID/command/{shutdown\|shutdown-poweroff}` | POST | Send a shutdown or power-off command to a node. |
| `/id/$UUID/app/$APPUUID/command/{purge\|restart}` | POST | Send a purge or restart command to an app instance on a node. |

## Next Steps

> [card] [Node Details](https://zededa.mintlify.site/new-ui/infrastructure-services/nodes/node-details.md)
>
> Monitor node health and run states.

> [card] [Manage Datastores](https://zededa.mintlify.site/new-ui/infrastructure-services/datastores.md)
>
> Create a local HTTP datastore for use with Edge Sync.

> [card] [Enable Offline Mode on a Node](https://zededa.mintlify.site/new-ui/infrastructure-services/nodes/enable-offline-mode.md)
>
> Additional ZCLI-based configuration to keep nodes running without cloud connectivity.
