Skip to content

catalystctl/catalyst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

724 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Catalyst

Early Testing TypeScript React 18 Rust License

An experimental game server management platform in early testing. Expect breaking changes and instability while core workflows are being validated.


What is Catalyst?

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


⚡ 5-Minute Quick Start

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.

1. Download & configure

curl -fsSL https://raw.githubusercontent.com/catalystctl/catalyst/main/install.sh | bash
cd catalyst-docker
nano .env          # Set PUBLIC_URL at minimum
docker compose up -d

2. Access the panel

Open your PUBLIC_URL in a browser. The first user to register becomes the administrator automatically.

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 Quick Start Guide for the full walkthrough with screenshots, or the Detailed Installation Guide for every option, every edge case, and production hardening.


Installation Options

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

🐳 Docker & Podman

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 -d

🔧 Configuration

All configuration lives in .env. The install script generates it automatically, but you can edit it anytime:

Variable Required Default Description
PUBLIC_URL The URL users access the panel from
POSTGRES_PASSWORD auto-generated PostgreSQL password
BETTER_AUTH_SECRET auto-generated Session encryption key
FRONTEND_PORT 0.0.0.0:8080 Panel port
BACKEND_PORT 127.0.0.1:3000 API port (localhost-only by default)
SFTP_PORT 0.0.0.0:2022 SFTP file access port

For the complete variable reference, see Environment Variables.

🌐 Production & TLS

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 -d

See Docker Setup for full TLS, reverse proxy, and hardening details.


Architecture

                     ┌─────────────────────┐
                     │   Docker Compose     │
                     │                      │
  :80 (panel)  ───► │  Nginx (Frontend)   │
                     │    │  /api  /ws      │
                     │    ▼                 │
                     │  Fastify (Backend)   │──► :3000 (API)
                     │    │                 │──► :2022 (SFTP)
                     │    ▼                 │
  :5432 (internal) ◄─│  PostgreSQL          │
  :6379 (internal) ◄─│  Redis               │
                     └─────────────────────┘

  Game Nodes (separate machines):
  ┌──────────────┐                    ┌──────────────┐
  │  Rust Agent  │◄── WebSocket ─────►│  Backend API │
  │  (containerd)│                    └──────────────┘
  └──────────────┘
       │
       ▼
  ┌──────────────┐
  │  Game        │
  │  Servers     │
  └──────────────┘

Tech Stack:

  • Backend: TypeScript 5.9, Fastify, PostgreSQL, WebSocket Gateway
  • Frontend: React 18, Vite, TanStack Query, Radix UI
  • Agent: Rust 1.70, Tokio, containerd gRPC
  • Features: RBAC, SFTP, Plugin System, Task Scheduling, Alerts

👉 Full architecture details


Key Features

🎮 Complete Server Lifecycle

Create, start, stop, restart, and transfer servers with automatic crash detection and recovery.

📊 Real-Time Monitoring

Live console streaming via WebSockets (<10ms latency), resource metrics, and customizable alerts.

🔐 Enterprise Security

RBAC with 20+ granular permissions, API key authentication with rate limiting, audit logging, TLS support.

🔌 Powerful Plugin System

Extend functionality with custom backend plugins, API routes, WebSocket handlers, and scheduled tasks.

📁 File Management

Web-based file editor, SFTP access, upload/download with path validation, and automated backup/restore.

🤖 API-First Design

60+ REST endpoints with billing panel integration examples (WHMCS, Python, Node.js).


Screenshots

All screenshots are captured automatically at 1080p via Playwright. See how to regenerate them.

Authentication

Login
Register
Forgot Password

User Panel

Dashboard
Servers
Server Console
Server Files
Server Metrics
Server Backups
Server Databases
Profile

Admin Panel

Admin Dashboard
Admin Users
Admin Roles
Admin Nodes
Admin Templates
Admin System
Admin Security
Admin Alerts
Admin Audit Logs
Admin API Keys
Admin Plugins
📁 View all screenshots (41 files)

Auth (3)

User (18)

Admin (20)


What Makes Catalyst Different?

  • containerd for superior performance (not Docker)
  • WebSocket gateway for real-time communication (<10ms latency)
  • Plugin system for infinite extensibility
  • Rust agent for memory safety and performance
  • Docker Compose for one-command deployment

Documentation

Guide For You If... Description
⚡ Quick Start New to Catalyst 5-minute setup with Docker Compose
📖 Detailed Installation Devs & ops Full install: every option, every edge case
Getting Started First-time admin Walkthrough: nodes, templates, first server
Docker Setup System operator TLS, volumes, networking, production hardening
User Guide Server owner Manage your servers, files, backups, console
Admin Guide System operator Deploy nodes, configure networking, monitor health
Agent Guide Node operator Deploy the Rust agent on game server nodes
API Reference Developer Complete REST API with integration examples
Automation & Plugins Power user Scheduled tasks, webhooks, API automation, plugins
Development Guide Contributor Dev environment, testing, code style, PR process
Plugin System Plugin dev Extend Catalyst with custom functionality
Environment Variables All Complete reference of all 60+ config variables
Troubleshooting All Common errors, solutions, debugging workflows
Architecture Technical System design, data flow, security model

Project Status

Category Status
Core Features (Servers, Nodes, Backups, SFTP) ✅ Stable
Security (RBAC, Audit, TLS, API Keys) ✅ Stable
REST API ✅ 60+ endpoints
Real-Time (WebSocket Console, Metrics) ✅ Stable
Frontend UI ✅ 25+ pages, full admin panel
Plugin System ✅ Stable (2 bundled plugins)
Task Scheduling ✅ Stable
Alerting ✅ Stable
Agent (Rust, containerd) ✅ Stable
Testing ✅ 23 E2E test suites
Container Deployment ✅ Docker Compose, Podman Compose
v2 (Scaling, CLI, Mobile) 🔮 Planned

📚 Quick Documentation Links

New here? Pick your path:

The full documentation catalog is in the table above.


Contributing

We welcome contributions! Please see CONTRIBUTING.md for repository guidelines, code conventions, and commit standards.


License

GPLv3 © 2026 Catalyst Contributors