> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/aerial/aodt/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/aerial/aodt/_mcp/server.

# Worker Installation

The worker stack starts the AODT Digital Twin server and its supporting services with Docker Compose. Client APIs connect to this stack when talking to a running Digital Twin server.

## Deployment types

| Deployment        | Worker setup                                                                                                                                         |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Colocated**     | If you completed [Client Installation](/client-installation), prerequisites are already installed. Proceed to [Start the worker](#start-the-worker). |
| **Non-colocated** | Install and start the worker on the remote GPU host so the client can connect over the network. Follow the instructions below.                       |

## Prerequisites

SSH access to the worker host is required.

Install GPU drivers, Docker, and the NVIDIA Container Toolkit on the worker machine. Follow the steps on the [Prerequisites](/prerequisites) page.

## Clone the AODT repository

```bash
git clone https://github.com/NVIDIA/aerial-omniverse-digital-twin.git aodt_1.5.0
```

This creates an `aodt_1.5.0` directory. No additional worker installation steps are required.

## Start the worker

From the package root:

```bash
cd aodt_1.5.0
./worker/up.sh
```

The script detects the machine IP automatically, then starts the Digital Twin worker together with ClickHouse, MinIO, and Nessie.

## Stop the worker

```bash
docker compose -f worker/docker-compose.yml down
```

## Verify a non-colocated deployment

Colocated deployments are verified during [Client Installation](/client-installation). To test a non-colocated setup, start the worker on the remote host using the commands above, then follow [Verify Installation — non-colocated test](/verify-installation#3-non-colocated-test) from the client machine.

## Development mode

To modify worker source code or rebuild from inside the container, see [Development Workflow](/dev-workflow). Development mode is independent of deployment type — both colocated and non-colocated setups support it.

## Next steps

* [Viewer Installation](/viewer-installation) — visualize simulation results in the browser
* [Quickstart](/quickstart) — run your first end-to-end simulation