简体中文RSS

Install the control plane

The control plane is a self-hosted admin panel. It manages accounts (peers), nodes, quotas, and subscription URLs — all from one web dashboard.

  • A Linux server (Ubuntu/Debian) with a public IP
  • A domain name pointed at the server’s IP, for automatic HTTPS
  • Docker (installed automatically by the installer if missing)

Run this on the server that will host the panel:

Terminal window
curl -fsSL https://raw.githubusercontent.com/bingryan/freenet/main/deploy/install.sh -o install.sh
sudo bash install.sh

The installer asks for:

  • Panel domain — must already point at this server’s IP (Caddy provisions the TLS certificate automatically)
  • Admin e-mail — used for Let’s Encrypt certificate notices
  • Super-admin username — the account you’ll use to log into the panel
  • Whether to set up WireGuard on this same server as your first node (recommended)

When it finishes, the panel is live at https://<your-domain>. The auto-generated super-admin password is printed once at the end — save it immediately. You can also recover it later with freenet show-bootstrap-admin, as long as the container’s log history still has it.

Pin every downloaded artifact to a tag before installing:

Terminal window
export FREE_NET_INSTALL_REF=v1.4.2

Re-running install.sh keeps your existing .env and data. To wipe everything — containers, data volumes, secrets, and the self-node — and start fresh:

Terminal window
sudo bash install.sh --fresh

The panel binds high, rarely-used host ports by default (the node-agent port is 48443), and the installer fails fast with a clear message if a port is already taken.