Skip to content

About

What Skyport is, how it works, and how the pieces fit together.

Skyport is a game server management platform designed for self-hosted deployments.

The project follows the same model familiar from Pterodactyl:

  • A central panel for users, administrators, and server management
  • One or more nodes that host game server workloads
  • A daemon on each node that manages Docker containers on behalf of the panel

The panel is a modern Laravel application:

LayerTechnology
BackendLaravel 13, PHP 8.4
FrontendReact 19, Inertia.js v2, Tailwind CSS v4
BuildVite, Bun
App serverLaravel Octane + Swoole
SSRInertia server-side rendering (Node.js)
DatabaseSQLite (default) or MySQL/MariaDB

The daemon is a Rust binary that handles:

  • Node enrollment with the panel
  • Configuration sync
  • API serving for the panel
  • WebSocket sessions for live console interaction
  • Docker container lifecycle management
  • Local state persistence (SQLite)

Supported architectures: x86_64, aarch64 (ARM64), riscv64.

  1. Administrator creates a location and node in the panel
  2. Panel generates a one-time configuration token
  3. skyportd enrolls with the panel using the token
  4. Panel syncs server definitions to the daemon
  5. Daemon manages Docker containers for each server
  6. Users interact with their servers through the panel UI

A typical small deployment:

  • One panel VM (runs the web app, database, and queue worker)
  • One or more node machines (each running skyportd and Docker)

For larger setups, separate the database and use Redis for cache/sessions/queues.

If you are coming from Pterodactyl:

PterodactylSkyport
EggCargo
Wingsskyportd
Blade templatesReact + Inertia SSR
PHP-FPM + NginxOctane (Swoole) + Nginx
MySQL requiredSQLite default, MySQL optional

Skyport is intended for administrators comfortable with self-hosting. It assumes you can:

  • Secure Linux hosts
  • Manage reverse proxies and TLS
  • Read application and service logs
  • Operate Docker-based infrastructure