Calagopus is a ground-up reimplementation of Pterodactyl Panel in Rust. It keeps what made the original great - secure, container-based game server management - while aiming for better performance, a refreshed UI, more features, and a cleaner extension model on both the frontend and backend. If you already run Pterodactyl or Pelican, there is a supported migration path.
- Rust backend - a fast, efficient backend built on Tokio and Axum.
- Modern frontend - React, Mantine, and Tailwind for a clean, responsive UI.
- Extensible by design - first-class extension systems for backend and frontend, no hacky patches or overrides, real plugin APIs.
- Egg compatible - reuses Pterodactyl-style eggs, including a Rust port of Laravel's validation rules.
- Migration friendly - import your existing setup from Pterodactyl or Pelican.
Full instructions live in the documentation.
Tracked publicly here:
Repository layout
frontend/- The frontend of the panel, built with React, Mantine, and Tailwind.extensions/*- Frontend extensions, such as themes and plugins.
backend/- The backend of the panel, built with Rust and Axum.backend-extensions/*- Backend extensions, such as auth providers and database drivers.database/- Database migrations using Drizzle.database-migrator/- A tool to run database migrations, built with Rust and SQLx.shared/- Shared code between backend parts, mainly relevant for extensions.wings-api/- An auto-generated API client for the Wings API, built with Rust.generator-src/- The source for the API generator, written in TypeScript.
rule-validator/- A semi-port of Laravel's validation rules in Rust for use with eggs.schema-extension/
Contributions are welcome. Open an issue to discuss larger changes first, and check the Discord if you want to chat through an idea before writing code.
Calagopus builds on the ideas and ecosystem of Pterodactyl and Pelican. Thanks to those projects and their communities.
See LICENSE.
