Try Libertas

Three pieces: a Hub runs Apps, Studio for VS Code builds and deploys them, and the Android and iOS clients set up the Hub and use its tasks.

1. Quick start: Libertas Cloud Hub

https://hub.smartonlabs.com

2. Run your own Hub

Your own Hub runs Ubuntu 26.04, x86-64 or ARM64.

Home Hub in Incus (Linux or Mac)

Runs on a computer at home, so phones on your Wi-Fi find it. First get Incus:

  • Linux: sudo apt-get install incus && sudo incus admin init --auto. The LAN interface is the one ip route show default names, such as eno1.
  • Mac: with Homebrew, run brew install colima incus and colima start --runtime incus --network-mode bridged --network-interface en0 (en0 is usually Wi-Fi; use your LAN interface). The LAN interface inside Colima is col0. Drop sudo from the commands below.

Then create the Hub, with LAN replaced by that interface:

Shell
sudo incus init images:ubuntu/26.04 libertas-hub -c security.nesting=true
sudo incus config device add libertas-hub eth0 nic nictype=macvlan parent=LAN
sudo incus start libertas-hub && sleep 10
sudo incus exec libertas-hub -- bash -c '
  apt-get update && apt-get install -y curl
  install -d -m 0755 /etc/apt/keyrings
  curl -fsSL https://apt.libertasiot.com/ubuntu/keys/libertasiot-archive-keyring.gpg \
    > /etc/apt/keyrings/libertasiot-archive-keyring.gpg
  echo "deb [signed-by=/etc/apt/keyrings/libertasiot-archive-keyring.gpg] https://apt.libertasiot.com/ubuntu resolute main" \
    > /etc/apt/sources.list.d/libertasiot.list
  apt-get update && apt-get install -y libertasd'
sudo incus list libertas-hub

The last command shows the Hub's own LAN address. Phones and other computers reach it; the computer running it cannot (a macvlan limit).

Then install Libertas on Android or iOS and tap Add a Hub, Search Local Network, on the same Wi-Fi. Choose the Hub, Agree to the EULA, and create the administrator in Setup Admin Account. That password is the master password: write it down.

Your own Cloud Hub on a server

Runs on an Ubuntu 26.04 server with a public address; set it up from the server itself. Open TCP ports 8080 and 8443.

Shell
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.libertasiot.com/ubuntu/keys/libertasiot-archive-keyring.gpg \
  | sudo tee /etc/apt/keyrings/libertasiot-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/etc/apt/keyrings/libertasiot-archive-keyring.gpg] https://apt.libertasiot.com/ubuntu resolute main' \
  | sudo tee /etc/apt/sources.list.d/libertasiot.list >/dev/null
sudo apt-get update && sudo apt-get install -y libertasd
sudo mkdir -p /etc/systemd/system/libertasd.service.d
printf '[Service]\nEnvironment=LIBERTAS_CLOUD_HUB=1\n' \
  | sudo tee /etc/systemd/system/libertasd.service.d/10-cloud-hub.conf >/dev/null
sudo systemctl daemon-reload && sudo systemctl stop libertasd

Commission it, giving the address clients will use. The first run prints where to read the Beta EULA and the --accept-eula value; rerun with it. Type the master password when asked and write it down: it cannot be recovered.

Shell
sudo env LIBERTAS_CLOUD_HUB=1 libertasd commission \
  --connection static --connection-address hub.example.com:8080
sudo env LIBERTAS_CLOUD_HUB=1 libertasd commission --accept-eula <value> \
  --connection static --connection-address hub.example.com:8080
sudo systemctl start libertasd

The administrator account is Admin. In the phone App, tap Add a Hub, By IP Address, enter hub.example.com:8080, and log in as Admin with the master password.

3. Studio

Install Node.js and Rust, then the Libertas Studio extension in VS Code (libertas-ai.libertas-vscode); it checks its prerequisites on first launch.

  1. Run Libertas: Manage Hubs and add the Hub by name and address (192.168.1.50 for a Home Hub, hub.example.com:8080 for your own Cloud Hub).
  2. Studio shows Authorize Libertas Hub with a QR code. In the signed-in phone App, use Scan Login QR Code.
  3. Run Libertas: Create New Project, then follow Developing Apps.

Next: Using Studio · Administration · Troubleshooting

Search Libertas