Panel
The Calagopus Panel is the central management interface for administering game servers and related services. It provides a user-friendly web interface and a robust backend to handle server orchestration, user management, and various integrations. This will not actually host any game servers yet, for that you will need to install Wings.
Minimum Requirements
Before installing the Calagopus Panel, ensure that your system meets the following minimum requirements:
- Operating System: Windows 10 or later, MacOS, Ubuntu 22.04 LTS or later, Debian 11 or later, or anything that supports modern Docker versions
- CPU Architecture: x86_64, ARM64, RISC-V or PPC64LE
- RAM: Minimum 512 MB (1 GB or more recommended, 2 GB recommended when using extensions)
- Disk Space: At least 1 GB of free disk space, at least 20 GB recommended when using extensions
Real World Usage Example
Here is an example of a Calagopus Panel running with 50 servers managed on x86_64 hardware:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
1d385d84abbc rjns-control_web 0.00% 88.47MiB / 91.99GiB 0.09% 671MB / 258MB 473MB / 345MB 31
775c970479c2 rjns-control_db 0.00% 66.44MiB / 91.99GiB 0.07% 190MB / 163MB 228MB / 686MB 20
f5925cc2dd3f rjns-control_cache 0.09% 3.832MiB / 91.99GiB 0.00% 293MB / 18MB 12.8MB / 332MB 7Keep in mind that when using extensions you will need additional resources for compiling the panel frontend and backend. This example only reflects the base panel usage without any extensions installed.
Technical Overview
The Calagopus Panel is built using a modern web stack to ensure scalability, performance, and ease of use. Below is a high-level overview of its architecture:
Frontend
The frontend of the Calagopus Panel is developed using React.js, providing a responsive and intuitive user interface. It communicates with the backend via RESTful APIs to perform various operations such as server management, user authentication, and configuration settings.
- Language: TypeScript
- Framework: React.js
- State Management: Zustand
- Styling: Tailwind CSS
- Build Tool: Vite
- Linting: Biome
Backend
The backend is powered by Rust, leveraging the axum crate for handling HTTP requests. It manages core functionalities such as user management, server orchestration, and database interactions.
- Language: 🦀 Rust
- Web Framework:
axum - Database: PostgreSQL via
sqlx - Caching: Redis via
rustis - Runtime:
tokio
Most of the other backend functionality is implemented from scatch or using smaller crates to keep dependencies minimal and avoid bloat.