Skip to content

arm/topo

Topo

Go Report Card

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.

Installation

Prerequisites

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.

Linux and macOS

curl -fsSL https://raw.githubusercontent.com/arm/topo/refs/heads/main/scripts/install.sh | sh

Windows

irm https://raw.githubusercontent.com/arm/topo/refs/heads/main/scripts/install.ps1 | iex

Alternatively, manually add the appropriate binary from GitHub Releases to your PATH.

Getting Started

1. Check that everything is ready

topo health --target [user@]host

2. Find a template

topo templates --target [user@]host

3. Clone your chosen template

Choose a template you wish to try, then clone it:

topo clone https://github.com/Arm-Examples/topo-welcome.git

If the template requires build arguments, Topo will prompt you for them.

4. Deploy to your target

cd topo-welcome/
topo deploy --target [user@]host

Topo builds the container images on your host, transfers them to the target over SSH, and starts the services.

5. Review the deployment

Your project is now running on your target. See the template README for details.

6. Stop the deployment

When you're done, stop the running services:

topo stop --target [user@]host

Other Commands

Run topo <command> --help for full usage details.

About

Compose, parameterize, and deploy containerized examples for Arm hardware

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors