Quickstart¶
Use this path to get from a clean Ubuntu 24.04 LTS development host to a running container on a VeeaHub.
Warning
Replace example values such as 192.168.1.36, E10CTWE080C000002341, vh-2341, and registry namespaces with your own values.
1. Confirm the Target¶
Before installing tooling, confirm:
| Item | Required value |
|---|---|
| Ubuntu host | Ubuntu 24.04 LTS |
| VeeaHub software | 2.39.0-10 or later |
| Network | Ubuntu host and VeeaHub on the same network |
| Mesh state | Enrolled in Control Center |
| Development mode | Enabled for the mesh |
2. Install VHT 2.0¶
Run on the Ubuntu host:
wget -O setup-veeahub-dev-env.sh \
https://c3templates.veeaplatform.net/releases/beta/setup-veeahub-dev-env.sh
chmod +x setup-veeahub-dev-env.sh
./setup-veeahub-dev-env.sh
Verify:
3. Install Docker¶
sudo apt update
sudo apt install docker.io docker-buildx docker-compose-v2
sudo usermod --append --groups docker $USER
Log out and back in, then verify:
sudo systemctl status docker
docker version
docker compose version
docker buildx version
docker run hello-world
docker ps -a
4. Add the VeeaHub¶
vhc2 hub config add-hub --ip-addr 192.168.1.36 \
--serial-number E10CTWE080C000002341 vh-2341
vhc2 hub config show
vhc2 hub access --hub-id vh-2341 ping
Expected ping output:
5. Create a Docker Context¶
vhc2 hub access --hub-id vh-2341 context create
vhc2 hub access --hub-id vh-2341 reboot
vhc2 hub access --hub-id vh-2341 context validate
docker context ls
Expected validation output:
Warning
Docker commands run against the selected context. Prefer the explicit DOCKER_CONTEXT=vh-2341 form below so the target hub is visible in every command.
6. Run a Container on the VeeaHub¶
Prefer explicit context and API version per command:
Expected output includes:
7. Build and Push an App Image¶
For a local insecure registry, create an insecure builder first, then build:
docker buildx build \
--builder insecure-builder \
--platform linux/amd64,linux/arm/v7,linux/arm64/v8 \
--push -t 192.168.1.29:5001/<namespace>/vh_dbus:latest .
For a secure registry:
docker buildx build \
--builder secure-builder-using-public-trusted-certs \
--platform linux/amd64,linux/arm/v7,linux/arm64/v8 \
--push -t docker.io/<namespace>/vh_dbus:latest .
8. Run with Docker Compose¶
DOCKER_API_VERSION=1.39 DOCKER_CONTEXT=vh-2341 docker compose \
-f docker-compose-one-service-insecure.yml up
In another terminal:
Stop the Compose app with the same context and file:
DOCKER_API_VERSION=1.39 DOCKER_CONTEXT=vh-2341 docker compose \
-f docker-compose-one-service-insecure.yml down
What to Read Next¶
- Docker Context for safe target selection.
- Docker Registries before choosing secure or insecure registries.
- Compose vs Stack before mesh deployment testing.
- Troubleshooting if a command fails.