Skip to content
Spirit Panel Self-hosted

Panel

Connect FeatherWings

Point the panel at a same-box daemon, a remote node, or both. API_URL must match the FeatherWings remote exactly.

On this page

Spirit Panel never runs game workloads. Each server is a Docker container managed by FeatherWings. One panel can use a same-box daemon and remote nodes together.

Install the daemon with the FeatherWings installation guide. config.yml is documented in FeatherWings configuration.

In the panel

Admin → Nodes → Add Node. Set the node FQDN, the scheme, daemon listen port 8080, and SFTP port 2022. Add allocations as an IP plus the port range players will use.

API_URL in apps/panel-api/.env is the public panel URL. It must match the remote value in the FeatherWings config exactly: HTTPS, with no trailing slash. A trailing slash, a different host, or HTTP where the daemon expects HTTPS is enough to break the match.

When the node asks for join data, paste it from Admin → Nodes → Join-data.

The node token is separate from API_URL. The token value in Admin → Nodes → Wings Config must match token in /etc/featherpanel/config.yml. If they drift, rotate the token in the panel, update the config, and restart FeatherWings.

Same box

Use the daemon on the panel host.

  • Address: 127.0.0.1:8080
  • nginx proxies the console websocket at /wings/

Browsers block ws:// on an HTTPS panel. The /wings/ proxy is what keeps the console on wss:// without exposing the daemon port as the console URL.

Remote node

Use HTTPS on that machine’s own hostname, and set the node scheme to https. Do not add a trailing slash to the remote URL.

Open 8080/tcp, 2022/tcp, and the allocation range on that machine. Do not put the Wings hostname behind Cloudflare’s proxy if clients reach it on port 8080. Grey-cloud that name.

Check the daemon

On the game machine:

curl -s http://127.0.0.1:8080/api/system

A node that stays offline, a console that never connects, or SFTP that refuses the login is covered in Troubleshooting. Reconnect from the panel needs FeatherWings 1.4.3 or newer.