Beacon Node Guide
Install and enroll Beacon
Install the supported standalone Beacon Compose deployment on a separate Ubuntu workload node.
Repository-validated operator guidance View source ↗
#Prerequisites
- A supported Ubuntu or Debian host with Docker Engine and Compose v2.
- A node record and its ID/token from the Forge administration flow.
- A PANEL_API_URL that the node can reach over HTTP(S).
- A persistent directory for GAME_SERVERS_HOST_DIR.
#Create the node configuration
On the Beacon host
git clone https://github.com/ryzenate1/forge-control-plane.git
cd forge-control-plane/infra
cp ../beacon/.env.example .env
chmod 600 .env
# Set DAEMON_NODE_ID, DAEMON_NODE_TOKEN, PANEL_API_URL, and GAME_SERVERS_HOST_DIR
mkdir -p /srv/game-panel/servers
./bootstrap-beacon.sh#Required ports
| Port | Purpose | Exposure |
|---|---|---|
| 9090/TCP | Beacon API | Keep private; production override binds it to loopback on an all-in-one host. |
| 2022/TCP | SFTP | Standalone Compose uses host networking; bind is controlled by DAEMON_SFTP_BIND_ADDR. Restrict it or proxy it deliberately. |
| Allocated game ports | Game traffic | Open TCP and/or UDP only for allocations actually assigned. |
#Replace or remove a node
Drain the failed node before moving stateful workloads. Ensure a shared backup is present, enroll the replacement with new credentials, restore or redeploy workloads, verify health, then revoke the old node credential. Do not reuse a leaked node token.
Recreate the standalone container
cd infra
docker compose -f compose.beacon.yml --env-file .env pull
docker compose -f compose.beacon.yml --env-file .env up -d --build
docker compose -f compose.beacon.yml --env-file .env logs --tail 150 beacon