Run the ISPForge agent with Docker (recommended), or install from our signed apt / yum repositories.
The agent is published as a container at ghcr.io/ispforge/agent. Save this docker-compose.yml on any host that can reach your routers and run docker compose up -d. It self-bootstraps its config and serves a local web UI on :8080 for enrolment and router-credential entry.
Copyservices:
ispforge-agent:
image: ghcr.io/ispforge/agent:stable
container_name: ispforge-agent
restart: unless-stopped
# host networking gives the agent direct egress to NETCONF/SSH
# on your routers without per-router port plumbing.
network_mode: host
environment:
CORE_URL: "https://api.ispforge.com"
volumes:
- ispforge-agent-config:/etc/ispforge-agent
- ispforge-agent-state:/var/lib/ispforge-agent
volumes:
ispforge-agent-config:
ispforge-agent-state:
Then read the installation ID and bootstrap URL from the logs and claim the agent in the portal:
Copydocker compose logs ispforge-agent | grep -E 'installation_id|bootstrap_url'
Pin to a specific version (:vX.Y.Z) in production; :stable tracks the latest release. Full walkthrough in the install docs.
Prefer a native package, or running without Docker? The one-line installer auto-detects your distro and configures the right signed repo.
Copycurl -fsSL https://packages.ispforge.com/install.sh | sudo sh
To install the CLI instead of the agent: curl -fsSL https://packages.ispforge.com/install.sh | sudo PKG=ispforge-cli sh
| Package | Architectures | Description |
|---|---|---|
| ispforge-agent | amd64, arm64 | Router execution layer — runs in your network |
| ispforge-cli | amd64, arm64 | CLI client for the ISPForge API |
The repo is a standard apt repo with a signed Release file. Add it once and your package manager keeps the agent up to date.
Copysudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://packages.ispforge.com/pubkey.asc \
| sudo gpg --dearmor -o /etc/apt/keyrings/ispforge-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/ispforge-archive-keyring.gpg] https://packages.ispforge.com/apt stable main" \
| sudo tee /etc/apt/sources.list.d/ispforge.list
sudo apt-get update
sudo apt-get install -y ispforge-agent
Each .rpm is signed with the repo key, and the repodata index is detach-signed for repo_gpgcheck=1.
Copysudo rpm --import https://packages.ispforge.com/pubkey.asc
sudo tee /etc/yum.repos.d/ispforge.repo >/dev/null <<'EOF'
[ispforge]
name=ISPForge
baseurl=https://packages.ispforge.com/yum/$basearch/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.ispforge.com/pubkey.asc
EOF
sudo dnf install -y ispforge-agent # or: sudo yum install -y ispforge-agent
All apt metadata, repodata, and individual .rpm files are signed by:
ISPForge Packages <support@ispforge.com>
Public key: /pubkey.asc
If you can't use the repo (custom distro, air-gapped install, etc.), pre-built binaries are at /binaries/ with versioned filenames.