Documentation

Install overview

Run one installer per machine. The panel script and the node script are not interchangeable.

Pick a script

ScriptRun this onWhat it installs
ubuntu-24.04.shThe panel server (public IP + DNS)Web, API, MongoDB, Redis, nginx, optional local daemon
ubuntu-node.shA second machine with a public IPv4Docker + daemon only under /opt/flutter-node
connect-home-node.shHome PC, WSL, or anything without a public IPSame daemon, plus a Cloudflare quick tunnel for port 8080
wipe-local.shA test box you want to resetFull wipe, or --daemon-only for just the game node

Requirements

RoleNeeds
PanelFresh 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 nodeUbuntu 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-panel

If 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