Discover and deploy containerised software to Arm hardware over SSH.
Topo matches your system with Topo Templates that showcase its capabilities. Already have a Docker Compose project? Topo gives you fast, incremental deployment to remote targets.
Host machine (where you run topo):
Target machine (the remote Arm system):
- Reachable with SSH
- Linux on ARM64
- Docker
The host and target can be the same system. If you're working directly on an Arm Linux system, use --target localhost.
curl -fsSL https://raw.githubusercontent.com/arm/topo/refs/heads/main/scripts/install.sh | shirm https://raw.githubusercontent.com/arm/topo/refs/heads/main/scripts/install.ps1 | iexAlternatively, manually add the appropriate binary from GitHub Releases to your PATH.
topo health --target [user@]hosttopo templates --target [user@]hostChoose a template you wish to try, then clone it:
topo clone https://github.com/Arm-Examples/topo-welcome.gitIf the template requires build arguments, Topo will prompt you for them.
cd topo-welcome/
topo deploy --target [user@]hostTopo builds the container images on your host, transfers them to the target over SSH, and starts the services.
Your project is now running on your target. See the template README for details.
When you're done, stop the running services:
topo stop --target [user@]hostRun topo <command> --help for full usage details.