In Panel
Installing
One command. It asks for a domain, takes a certificate, opens the firewall.
Updated
Installing
The panel is a single binary. There are no dependencies to install alongside it and no database to create — it makes its own SQLite.
What you need
Linux with systemd, and root. That is the list. The installer even handles the container engine: when the machine has none, it offers podman and installs it.
Two gigabytes of RAM for the panel itself is comfortable, plus whatever your servers want. The panel alone uses about 60 MB.
One command
curl -fsSL https://core.stygion.eu/install.sh | sudo sh
It asks a few things and then does them:
What the panel should call itself. This is the name it appears under when you link a STYGION ID and look at a list of your machines.
What it should listen on. :8080 by default.
A domain. This is the question that matters. Answer it and the installer sets up Caddy, which takes a Let's Encrypt certificate on its own, and the panel is reachable from outside over HTTPS with nothing further to do. Leave it blank and the panel runs on the machine's own LAN address — which is the right answer while you are still finding out whether you like it.
The domain has to point at the machine before you run the installer. A certificate is issued by Let's Encrypt looking at that address; if nobody is there, you do not get one, and the installer says so.
The firewall. It opens the panel's port and SFTP. It does not open game ports — the panel opens those itself, when you allocate one to a server.
Automatic updates. Yes by default.
When it finishes it prints the address to visit and the MCP key.
With no internet
A machine that cannot reach out will not download a build. Take the tarball from releases, carry it over, and point the installer at it:
sudo sh install.sh --from ./stygion-core-0.3.0-linux-amd64.tar.gz
If the .sha256 is sitting beside it, it is checked. Bring that too.
A second panel on one machine
Trying a new version beside a running one wants a second install with its own service, its own user and its own data:
STYGION_INSTANCE=stygion-test sudo sh install.sh
It does not touch the first.
Without the questions
For a script or Ansible, the answers can be given up front:
STYGION_DOMAIN=panel.example.com \
STYGION_WITH_CADDY=y \
sudo sh install.sh --unattended
install.sh --help lists every variable.
Uninstalling
sudo sh install.sh --uninstall
Stops the service and removes it, and keeps the data. Deleting that has to be a second decision rather than a side effect of the first:
sudo sh install.sh --uninstall --purge
That deletes every server, every backup and every account on that panel. There is no way back.
When something is wrong
The panel is a systemd service, so you ask it the way you ask anything else:
systemctl status stygion
journalctl -u stygion -f
Next: First run.
Did this page help?
Opens the feedback panel with this page attached, and lands in the same queue as everything else.