Syntax
Options
| Option | Type | Default | Description |
|---|---|---|---|
--box TEXT | string | Box name (uses stored IP and username from .lager config) | |
--ip TEXT | string | Target box IP address | |
--user TEXT | string | lagerdata | SSH username |
--branch TEXT | string | main | Git branch to deploy |
--skip-jlink | flag | Skip J-Link installation (pyOCD is always installed) | |
--skip-firewall | flag | Skip UFW firewall configuration | |
--skip-verify | flag | Skip post-deployment verification | |
--corporate-vpn TEXT | string | Corporate VPN interface name for firewall rules (e.g., tun0) | |
--yes | flag | Skip confirmation prompts | |
--help | Show help message and exit |
--box or --ip is required. If both are provided, the command exits with an error.
What Gets Installed
| Component | Description |
|---|---|
| Docker container | Lager service container (ports 5000 and 8765) with auto-restart |
| pyOCD | Open-source debug probe tool (automatic) |
| J-Link | SEGGER debug probe software (optional, skipped with --skip-jlink) |
| UFW firewall | Restricts service ports to VPN and localhost (skipped with --skip-firewall) |
| Box code | Python libraries and services in ~/box |
Installation Flow
- Resolve target - Looks up box IP from
--boxname or uses--ipdirectly - Verify SSH - Tests key-based authentication, falls back to password if needed
- Show summary - Displays what will be installed and asks for confirmation
- Deploy - Runs the deployment script (up to 30 minutes for a fresh install)
- Store version - Writes the CLI version to
/etc/lager/versionon the box - Add to config - Optionally adds the box to your local
.lagerconfig
Examples
SSH Authentication
The command attempts key-based SSH authentication first. If that fails, it offers to continue with password authentication. For new hosts, the SSH host key is accepted automatically. If the host key has changed since a previous connection, the command asks you to verify the change manually before proceeding.Notes
- Requires SSH client tools (
ssh,ssh-keygen) to be installed locally - The deployment script is bundled with the
lager-clipackage - After installation, verify connectivity with
lager hello --box <name> - Use
lager updateto deploy code updates to an already-installed box - Use
lager uninstallto remove Lager software from a box

