A game server control panel. Create servers, manage files, backups, and console output, and automate everything through the API. Per-subsystem status is in Project Status.
Official support channels: GitHub Issues and Discord. These are the only official lines of communication for support, bug reports, and project discussion.
Catalyst is a complete platform built for enterprise game server hosts, game communities, and billing panel integrations. Manage servers across multiple nodes with container isolation, live console access, automated backups, and fine-grained permissions.
๐ฏ Perfect for: Enterprise hosts, game communities, Minecraft/Rust/ARK/Hytale servers, billing panel automation
Docker Compose (Docker or Podman) is the only supported deployment method. Everything runs in containers โ no Node.js, Bun, or Rust install needed on the host.
VERSION=v1.85.0 # replace with the release you want
curl -fsSL -o install.sh "https://github.com/catalystctl/catalyst/releases/download/${VERSION}/install.sh"
curl -fsSL -o install.sh.sha256 "https://github.com/catalystctl/catalyst/releases/download/${VERSION}/install.sh.sha256"
sha256sum -c install.sh.sha256 && bash install.sh
cd catalyst-docker
nano .env # Set PUBLIC_URL at minimum
docker compose up -dOpen your PUBLIC_URL in a browser. Complete the Setup wizard (admin account + appearance). That first setup user becomes the administrator and open registration is disabled afterward.
That's it. No build steps, no dependency installation, no manual secret generation (the install script does that for you).
๐ Want more detail? See the Administrator Guide for the full walkthrough, or Installation for every option and production hardening.
Stuck or have questions? Join the community on Discord or open a GitHub Issue.
Catalyst deploys in three ways. Pick the one that fits you:
| Method | Time | Best For |
|---|---|---|
| One-Line Install | 5 minutes | First-time users, production |
| Docker/Podman Compose | 10 minutes | Users who want full control over TLS, ports, volumes |
| Build from Source | 30+ minutes | Developers contributing to Catalyst |
Both Docker Compose and Podman Compose are fully supported. The workflow is identical โ just replace docker with podman in every command.
# Docker
docker compose up -d
# Podman (drop-in replacement)
podman compose up -dinstall.sh writes .env for you (secrets included); you can edit it anytime.
Every variable, its default and what it changes:
catalyst-docker/.env.example,
catalyst-docker/README.md and
the Configuration page.
For production with automatic HTTPS:
# Caddy โ automatic Let's Encrypt
docker compose -f docker-compose.yml -f docker-compose.caddy.yml up -d
# Or Traefik โ Docker-native routing
docker compose -f docker-compose.yml -f docker-compose.traefik.yml up -dSee the Administrator Guide for full TLS, reverse proxy, and hardening details.
โโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Compose โ
โ โ
:80 (panel) โโโโบ โ Nginx (Frontend) โ
โ โ /api /ws โ
โ โผ โ
โ Fastify (Backend) โโโโบ :3000 (API)
โ โผ โ
:5432 (internal) โโโ PostgreSQL โ
:6379 (internal) โโโ Redis โ
โโโโโโโโโโโโโโโโโโโโโโโ
Game Nodes (separate machines):
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Rust Agent โโโโ WebSocket โโโโโโบโ Backend API โ
โ (containerd)โ โโโโโโโโโโโโโโโโ
โโโโโโโโฌโโโโโโโโ
โ :2022 (SFTP)
โผ
โโโโโโโโโโโโโโโโ
โ Game โ
โ Servers โ
โโโโโโโโโโโโโโโโ
Tech Stack:
- Backend: TypeScript 6.0, Fastify, PostgreSQL, WebSocket Gateway
- Frontend: React 19, Vite, Catalyst Sync (csync), Radix UI
- Agent: Rust 1.95, Tokio, containerd gRPC
- Features: RBAC, SFTP, Plugin System, Task Scheduling, Alerts
The agent's control plane shares host CPU, memory and storage with game containers. Defaults keep that overhead low: resource reports every five seconds, bounded transfer queues, and installer logs read as appended bytes rather than re-read whole. Backups do not force source-file fsyncs โ tar reads the page cache โ so quiesce or stop the game for a consistent backup.
For dense nodes, set [agent].stats_interval_secs = 10 or 30 in the agent
configuration when slower graphs are acceptable; STATS_INTERVAL_SECS overrides
the file setting (minimum: one second). Leave [logging].level = "info" in
normal operation โ SSH/SFTP debug logging follows it rather than being forced
on. See the configuration example.
The node tuning script configures host limits and absolute dirty-page thresholds (256 MiB background, 1 GiB maximum). It changes global kernel settings and restarts the agent; review it before running on a live node. Generated systemd units use neutral CPU/IO weights of 100, which are hierarchical rather than cross-hierarchy game reservations or disk bandwidth caps.
Validate tuning under representative player load: compare game tick/frame
latency, cgroup cpu.stat throttling deltas, memory.events, and
/proc/pressure/{cpu,memory,io} while exercising saves, backups and transfers.
Do not read reclaimable file cache in memory.current as agent heap/RSS.
Remaining limits: live backups, copies and installs can still contend with game
I/O, and mount-restricted environments can fall back to plain directories
without enforcing the requested disk quota.
Create, start, stop, restart, and transfer servers with automatic crash detection and recovery.
Live console streaming over WebSockets, resource metrics, and customizable alerts.
RBAC with 74 granular permissions, API key authentication with rate limiting, audit logging, TLS support.
Extend functionality with custom backend plugins, API routes, WebSocket handlers, and scheduled tasks.
Web-based file editor, SFTP access, upload/download with path validation, and automated backup/restore.
334 REST operations with billing-panel integrations (WHMCS, Paymenter) and an OpenAPI reference.
- containerd for superior performance (not Docker)
- WebSocket gateway for real-time console, metrics and agent traffic
- Plugin system for infinite extensibility
- Rust agent for memory safety and performance
- Docker Compose for one-command deployment
Full product documentation lives at docs.catalystctl.com (source):
| Guide | For You If... | Start here |
|---|---|---|
| Getting Started | New to Catalyst | First server in minutes |
| Game Server Guide | Server owner | Console, files, backups, databases, tasks |
| Administrator Guide | System operator | Install, nodes, networking, updates |
| API & Developers | Developer | Auth, WebSockets, generated API reference |
| Troubleshooting | All | Errors, fixes, debugging workflows |
Contributor and operator references stay in this repo:
- CONTRIBUTING.md โ local setup, code style, tests, commit rules
- AGENTS.md โ the contributor/agent contract: verification gates, i18n and migration rules
- DESIGN.md โ design tokens and the panel's visual contract
- catalyst-docker/README.md โ deployment, TLS, troubleshooting
- tests/README.md โ the bash E2E suites
| Category | Status |
|---|---|
| Core Features (Servers, Nodes, Backups, SFTP) | โ Stable |
| Security (RBAC, Audit, TLS, API Keys) | โ Stable |
| REST API | โ 334 operations across 42 route files |
| Real-Time (WebSocket Console, Metrics) | โ Stable |
| Frontend UI | โ 41 page components, full admin panel |
| Plugin System | โ Stable (10 official plugins in the marketplace) |
| Task Scheduling | โ Stable |
| Alerting | โ Stable |
| Agent (Rust, containerd) | โ Stable |
| Testing | โ 144 backend and 78 frontend Vitest files, 2 Playwright E2E specs, 24 bash E2E suites |
| Container Deployment | โ Docker Compose, Podman Compose |
| v2 (Scaling, CLI, Mobile) | ๐ฎ Planned |
New here? Pick your path in the documentation:
- ๐ First server โ Running in minutes
- ๐ Installation โ Every option, every edge case, production hardening
- ๐ณ Networking & TLS โ Reverse proxy, TLS, ports
The full documentation catalog is in the table above.
Official support channels are GitHub Issues and Discord only. Please use these for bug reports, feature requests, installation help, and project discussion โ they are our official lines of communication.
| Channel | Use for |
|---|---|
| GitHub Issues | Bug reports, feature requests, tracked work |
| Discord | Real-time help, community discussion, announcements |
Invite link: https://discord.gg/mybxhmru3y
We welcome contributions! Please see CONTRIBUTING.md for repository guidelines, code conventions, and commit standards.
Questions about contributing? Hop into Discord or open a GitHub Issue.
GPLv3 ยฉ 2026 Catalyst Contributors