Installation
Supported Platforms
Section titled “Supported Platforms”NGFW.sh agent runs on the following platforms:
| Platform | Architecture | Status |
|---|---|---|
| OpenWrt 23.x | mipsel, arm, aarch64 | Supported |
| Debian 12+ | amd64, arm64 | Supported |
| Ubuntu 22.04+ | amd64, arm64 | Supported |
| Alpine 3.18+ | amd64, arm64 | Supported |
Hardware Requirements
Section titled “Hardware Requirements”- CPU: 500MHz+ (dual-core recommended)
- RAM: 128MB minimum, 256MB recommended
- Storage: 32MB for agent, 128MB for logs
Installation Methods
Section titled “Installation Methods”Quick Install (Recommended)
Section titled “Quick Install (Recommended)”curl -fsSL https://get.ngfw.sh | sh -s -- --api-key YOUR_API_KEYOpenWrt
Section titled “OpenWrt”# Add the NGFW.sh repositoryecho "src/gz ngfw https://packages.ngfw.sh/openwrt/$(. /etc/openwrt_release && echo $DISTRIB_RELEASE)" >> /etc/opkg/customfeeds.conf
# Update and installopkg updateopkg install ngfw-agent
# Configureuci set ngfw.agent.api_key='YOUR_API_KEY'uci commit ngfw
# Start the service/etc/init.d/ngfw-agent start/etc/init.d/ngfw-agent enableDebian/Ubuntu
Section titled “Debian/Ubuntu”# Add repositorycurl -fsSL https://packages.ngfw.sh/gpg | sudo gpg --dearmor -o /usr/share/keyrings/ngfw.gpgecho "deb [signed-by=/usr/share/keyrings/ngfw.gpg] https://packages.ngfw.sh/apt stable main" | sudo tee /etc/apt/sources.list.d/ngfw.list
# Installsudo apt updatesudo apt install ngfw-agent
# Configuresudo ngfw-agent configure --api-key YOUR_API_KEY
# Startsudo systemctl enable --now ngfw-agentDocker
Section titled “Docker”docker run -d \ --name ngfw-agent \ --network host \ --cap-add NET_ADMIN \ --cap-add NET_RAW \ -e NGFW_API_KEY=YOUR_API_KEY \ ghcr.io/danielbodnar/ngfw-agent:latestVerification
Section titled “Verification”After installation, verify the agent is running:
# Check service statussystemctl status ngfw-agent
# View logsjournalctl -u ngfw-agent -f
# Test connectivityngfw-agent statusYour device should appear as “Online” in the NGFW.sh dashboard within 30 seconds.
Troubleshooting
Section titled “Troubleshooting”Agent won’t start
Section titled “Agent won’t start”Check the logs for errors:
journalctl -u ngfw-agent --no-pager -n 50Connection issues
Section titled “Connection issues”Verify outbound connectivity to the API:
curl -I https://api.ngfw.sh/healthFirewall conflicts
Section titled “Firewall conflicts”If you have existing iptables rules, the agent may need to be configured to work alongside them. See Advanced Configuration for details.