Prerequisites
Before you fire up the CLI, let’s make sure your environment is ready. FrameWorks has specific requirements for network topology and access control to function correctly.
Hardware & OS Requirements
Section titled “Hardware & OS Requirements”Minimum Development Requirements
Section titled “Minimum Development Requirements”For testing or small-scale deployments, you can run a consolidated stack on a single node:
- Single Node: 4+ cores, 16GB RAM, 100GB SSD.
- Note: Performance will be limited for high-concurrency streaming or heavy analytics loads.
Hardware (recommended)
Section titled “Hardware (recommended)”Central Tier:
- CPU: 8+ cores
- RAM: 32GB+ (64GB recommended if running database services on the same node)
- Disk: 500GB+ SSD
- Network: 1Gbps+ connectivity
Regional Tier:
- CPU: 4+ cores
- RAM: 16GB+
- Disk: 250GB+ SSD
- Network: 1Gbps+ connectivity
Edge Tier:
- CPU: 8+ cores
- RAM: 16GB+
- Disk: 1TB+ SSD (for recordings)
- Network: 10Gbps+ connectivity (for high-bandwidth streaming)
Required Software
Section titled “Required Software”Docker Deployment:
- Docker Engine (24.0+) and Docker Compose (2.20+) for containerized service deployment.
Native Deployment (Linux):
systemdfor service management.- PostgreSQL client tools (or Postgres-compatible).
- Basic build tools (GCC, Make, Git) for native compilation.
Native Deployment (macOS):
- macOS 14.0+ (Sonoma or later), Apple Silicon (arm64) only.
launchdfor service management (built into macOS).- Homebrew for dependency management.
Both:
- SSH server with key-based authentication.
curl,wget,tar,gzip.netstat,ss, orlsoffor network diagnostics.
Install the CLI
Section titled “Install the CLI”Script (Linux & macOS):
curl -sSfL https://github.com/Livepeer-FrameWorks/monorepo/releases/latest/download/install.sh | shThis installs the frameworks binary to /usr/local/bin. Override the install directory with FRAMEWORKS_INSTALL_DIR or the version with FRAMEWORKS_VERSION.
Homebrew (macOS):
brew tap livepeer-frameworks/tapbrew install frameworks-cliNetwork Prerequisites
Section titled “Network Prerequisites”For multi-host deployments, you need:
-
WireGuard Mesh Network - Secure communication between backend infrastructure nodes (central/regional/database). See Mesh Networking for the GitOps identity and Privateer bootstrap flow.
-
systemd-resolved - Production backend hosts must run systemd-resolved so Privateer can route
.internalnames to the local DNS listener. -
Firewall Rules - Open the manifest’s WireGuard listen port between backend nodes and keep internal service ports private to the mesh.
SSH Access
Section titled “SSH Access”SSH Key Setup
Section titled “SSH Key Setup”Generate SSH keys for CLI access:
# Generate ED25519 key (recommended)ssh-keygen -t ed25519 -C "frameworks-cli" -f ~/.ssh/frameworks_ed25519
# Or RSA key (4096-bit)ssh-keygen -t rsa -b 4096 -C "frameworks-cli" -f ~/.ssh/frameworks_rsaCopy public keys to all hosts:
ssh-copy-id -i ~/.ssh/frameworks_ed25519.pub admin@central-01ssh-copy-id -i ~/.ssh/frameworks_ed25519.pub admin@central-02# ... repeat for all hostsSSH Configuration
Section titled “SSH Configuration”Configure ~/.ssh/config for convenient access:
# Central TierHost central-01 HostName 10.18.0.10 User admin IdentityFile ~/.ssh/frameworks_ed25519
Host central-02 HostName 10.18.0.11 User admin IdentityFile ~/.ssh/frameworks_ed25519
# Regional TierHost regional-eu-01 HostName 10.18.1.10 User admin IdentityFile ~/.ssh/frameworks_ed25519
Host regional-us-01 HostName 10.18.1.11 User admin IdentityFile ~/.ssh/frameworks_ed25519
# Edge NodesHost edge-eu-01 HostName <edge-public-ip> User admin IdentityFile ~/.ssh/frameworks_ed25519User Permissions
Section titled “User Permissions”The CLI user needs sudo privileges for:
- Installing packages
- Managing systemd services
- Configuring network settings
- Managing Docker (or be in docker group)
# Add user to docker group (Docker deployments)sudo usermod -aG docker admin
# Or configure passwordless sudo for specific commandsadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl, /usr/bin/dockerExternal Services
Section titled “External Services”FrameWorks requires several external services. See External Services for detailed setup guides.
Required:
- Cloudflare (required for Navigator-managed root/API/web/admin DNS)
- Bunny DNS (optional; when configured, Navigator delegates media cluster DNS to Bunny)
- S3-compatible object storage (Cloudflare R2, Hetzner, or another compatible provider)
- SSL/TLS certificates (ACME/Let’s Encrypt managed via Navigator/Caddy, or bring your own)
Optional:
- SMTP provider (required for contact forms, auth emails, billing notifications, and support/newsletter email)
- Stripe (billing)
- MaxMind GeoIP (geographic routing)
Next Steps
Section titled “Next Steps”Once prerequisites are complete:
- Create Cluster Manifest: See Cluster Manifest Reference
- Generate Mesh Identity:
frameworks mesh wg generate --manifest <manifest> --hosts-file <hosts.enc.yaml> - Check Mesh Identity:
frameworks mesh wg check --manifest <manifest> - Run Host Preflight:
frameworks cluster preflight --manifest <manifest> - Provision + Initialize:
frameworks cluster provision --manifest <manifest> - Verify Health:
frameworks cluster doctor --manifest <manifest>
See CLI Reference for the grouped operator command overview.