OLO Robotics
OLO Robotics is a browser-based robotics platform that brings simulation, visualization, teleoperation, and development into one place - with native ROS 2 access, JavaScript and Python SDKs, and AI-assisted coding. The goal is to spend less time wiring together separate tools and more time working with your robot.
What to expect?​
This guide shows how to connect a Leo Rover to OLO by installing the OLO appliance on the Leo Rover. The appliance runs in Docker, links the robot to the OLO dashboard, and bridges your ROS 2 stack to the platform. From there you can teleop, stream camera feeds, record and playback ROS topics, run navigation workflows, and develop against your hardware from anywhere. No changes to Leo Rover hardware are required.

Prerequisites​
You also need a free OLO account.
This guide assumes your Leo Rover is running LeoOS 2.0.0 or newer with ROS 2 Jazzy.
Software integration​
All steps below are performed on the Leo Rover over SSH unless noted otherwise.
Installing Docker on the Leo Rover​
Install Docker Engine by following the official Docker installation guide for Ubuntu.
It is recommended to add your user to the docker group so Docker commands do
not require sudo:
sudo usermod -aG docker $USER
newgrp docker
Generating a device API key​
Open the OLO dashboard, sign in, and click
Register Appliance. In the dialog, name the robot Leo Rover and continue.
This displays a Device API key beginning with apl_.
Copy the key, then on the Leo Rover store it in an environment file (replace
apl_<your-device-api-key> with your key):
mkdir -p ~/olo-appliance
echo "OLO_APL_DEVICE_API_KEY=apl_<your-device-api-key>" > ~/olo-appliance/.env
Creating Docker Compose​
Create a Docker Compose file:
cat <<"EOF" > ~/olo-appliance/compose.yaml
services:
olo-appliance:
image: olorobotics/olo-appliance:jazzy-latest
container_name: olo-appliance
network_mode: host
environment:
OLO_APL_DEVICE_API_KEY: $OLO_APL_DEVICE_API_KEY
FASTDDS_BUILTIN_TRANSPORTS: UDPv4
volumes:
- olo-data:/data
restart: unless-stopped
volumes:
olo-data:
driver: local
EOF
Starting the appliance​
Pull the image and start the appliance. The first run downloads the Docker image, which may take a few minutes:
cd ~/olo-appliance
docker compose up -d
Verifying the installation​
After the image is pulled and the container starts, the appliance should appear on your OLO dashboard.
You can also verify that the container is running:
docker compose ps
Check the logs for errors:
docker compose logs -f olo-appliance
You should see the appliance connect to the OLO backend and discover the Leo Rover's ROS 2 topics.
Updating the appliance​
When a new appliance image is available, pull the latest image and recreate the container:
cd ~/olo-appliance
docker compose pull
docker compose up -d
Optional cleanup of old unused images:
docker image prune -f
Uninstalling the appliance​
To remove the OLO appliance, stop and remove the Compose resources:
cd ~/olo-appliance
docker compose down
To uninstall Docker Engine as well, follow Docker's official Ubuntu uninstall guide.