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
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 oneip route show defaultnames, such aseno1. - Mac: with Homebrew, run
brew install colima incusandcolima start --runtime incus --network-mode bridged --network-interface en0(en0is usually Wi-Fi; use your LAN interface). The LAN interface inside Colima iscol0. Dropsudofrom the commands below.
Then create the Hub, with LAN replaced by that interface:
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.
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.
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.
- Run Libertas: Manage Hubs and add the Hub by name and address
(
192.168.1.50for a Home Hub,hub.example.com:8080for your own Cloud Hub). - Studio shows Authorize Libertas Hub with a QR code. In the signed-in phone App, use Scan Login QR Code.
- Run Libertas: Create New Project, then follow Developing Apps.
Next: Using Studio · Administration · Troubleshooting