Documentation
Install overview
Run one installer per machine. The panel script and the node script are not interchangeable.
Pick a script
| Script | Run this on | What it installs |
|---|---|---|
ubuntu-24.04.sh | The panel server (public IP + DNS) | Web, API, MongoDB, Redis, nginx, optional local daemon |
ubuntu-node.sh | A second machine with a public IPv4 | Docker + daemon only under /opt/flutter-node |
connect-home-node.sh | Home PC, WSL, or anything without a public IP | Same daemon, plus a Cloudflare quick tunnel for port 8080 |
wipe-local.sh | A test box you want to reset | Full wipe, or --daemon-only for just the game node |
Requirements
| Role | Needs |
|---|---|
| Panel | Fresh Ubuntu 24.04, root, public IPv4, hostname for HTTPS. 2+ vCPU and 4+ GB RAM for the panel itself, plus whatever game servers will use if they share the host. |
| Game node | Ubuntu with systemd, Docker, root. Public IPv4 and open 8080 from the panel — or a tunnel. Game allocation ports for players. |
Let's Encrypt will not issue a certificate for a raw IP. Point an A record at the panel host and wait until it resolves before requesting HTTPS.
Get the repo
On the Ubuntu host:
bash
apt-get update && apt-get install -y git
git clone https://github.com/Flutter-Software/Flutter-Panel.git /usr/local/src/flutter-panelIf you copied files from Windows, strip CR so bash does not choke:
bash
cd /usr/local/src/flutter-panel
sed -i 's/\r$//' install/*.sh
sudo bash install/ubuntu-24.04.sh --help