Skip to content

VHC25 Quickstart For VHT 1.x

Use this quickstart for VHT 1.x apps targeting VHC25-class hardware.

Target Facts

Item Value
VHT CLI vhc
VHC25 architecture arm32v7
VHC25 platform iesv2.5
Sideload REST port 9000
VeeaHub Shell SSH port 9010

Verify Tooling

vhc version
docker --version
docker ps
vhc image config platform list

For VHC25, the platform list should include arm32v7 for iesv2.5.

Configure And Check The Hub

vhc hub config add-hub --ip-addr <hub-ip> --serial-number <hub-serial> <hub-name>
vhc hub access ping --hub-id <hub-name>
vhc hub access get-info --hub-id <hub-name>
vhc hub access get-partner-id --hub-id <hub-name>
vhc hub access get-licenses --hub-id <hub-name>

If VeeaHub Shell commands are needed:

ssh-keyscan -T 5 -p 9010 -H <hub-ip> >> ~/.ssh/known_hosts
vhc hub access upload-public-key --hub-id <hub-name> ~/.ssh/id_ed25519.pub
vhc hub access shell --hub-id <hub-name> --command "help"

Build A Signed Application Archive

cd <generated-vhc-app-workspace>
vhc app build release
vhc app build verify build/<AppName>-<version>.tgz

Upload the .tgz through Control Center using Upload / VHT1.x.

Build And Sideload An Unsigned Image

cd <generated-vhc-image-workspace>
vhc image build save --arch arm32v7 --unauth --force
vhc hub access upload-image --hub-id <hub-name> \
  'build/unauth/arm32v7/<image-name>-arm32v7:<version>.unsigned.tar'

Create and start the container:

vhc hub access shell --hub-id <hub-name> --command "docker image ls"
vhc hub access shell --hub-id <hub-name> --command \
  "docker image create <image-id> --detach --publish <host-port>:<container-port> --restart unless-stopped"
vhc hub access shell --hub-id <hub-name> --command "docker container start <container-id>"

Verify The App

vhc hub access shell --hub-id <hub-name> --command "docker container ls --all"
curl -sS --max-time 8 http://<hub-ip>:<published-port>/health
curl -sS --max-time 8 -I http://<hub-ip>:<published-port>/

For a Control Center UI app, also open the UI:HTTP card and confirm browser requests stay inside the Control Center proxy path.

Common VHC25 Reminders

  • Keep the edge workload small. VHC25 is a constrained ARMv7 target.
  • Avoid full cloud/database/UI stacks unless there is a strong reason.
  • Put durable app data in persistent volumes.
  • Keep secrets out of the image.
  • Use unique ports and persistent UUIDs when testing multiple variants.
  • Use arm32v7 even if local development happens on x86_64.