A GameDash installation is a central panel plus any number of nodes. The panel decides what should happen; the nodes carry it out.
| Part | Runs where | What it does |
|---|---|---|
| Panel | One central host | Database, web interface, REST API. The system of record. |
| Daemon | Every node | Manages containers, processes, files and packages on that host. |
| Wrapper | Every node | Supervises the daemon: installs it, upgrades it, restarts it. |
| Relay | Central, alongside the panel | Pushes live events to connected browsers over Socket.IO. |
| Licence server | Operated by GameDash | Validates that a node is entitled to run. |
The panel and the daemon talk over the daemon's REST API. The connection goes both ways: the
panel calls the node to act on it, and the node calls the panel to report status and fetch
what it needs. Both directions authenticate with a shared token, sent as an x-daemon-token
header.
That two-way relationship is why a node has to be reachable from the panel, not merely able to reach out. When a node first comes up it fetches the ports the panel wants it to bind, binds them, and only then completes its handshake — because the panel finishes that handshake by dialling the node back.
Live updates take a different path. Rather than have every browser poll, backend services post a message to the relay, which fans it out over Socket.IO to whichever clients are subscribed to that channel. See The relay server.
The daemon is a Java service that abstracts the host operating system. It manages Docker containers and their images, inspects and supervises host processes, reads and writes files (including chunked uploads), installs packages through the platform's own package manager, serves SSH and SFTP, and reports network and system state back to the panel.
Storage on a node is file-based. There is no database on a node — persistent state lives in
the daemon's root directory and in daemon.properties.
Daemon overview covers all of this in more depth.
The panel is normally deployed as a set of services behind DNS records you control — the web interface, the API and the relay. Nodes are separate machines that only need the daemon installed and a route back to the panel.
Nodes are the part that scales. Adding capacity means adding a node, not resizing the panel.
Next: Terminology for the vocabulary used throughout these docs.