Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/thenoname-gurl/EcliPanel/llms.txt

Use this file to discover all available pages before exploring further.

Getting EcliPanel running requires three services: the wings-rs node agent on each host, the Elysia/Bun backend API server, and the Next.js frontend. This guide walks you through each piece in order. Complete all steps before creating your first server — EcliPanel’s frontend and backend both depend on at least one Wings node being reachable.
1

Install wings-rs on each node host

EcliPanel requires wings-rs — the Rust-based Wings agent. You cannot use the original pterodactyl wings-go; most EcliPanel features will not work with it.Follow the wings-rs installation instructions in its repository. After wings-rs is installed, complete the backend and frontend setup below, then start wings-rs again so it can connect to your configured panel.
Do not use pterodactyl’s wings-go. EcliPanel is built and tested against wings-rs only. Using wings-go will cause most features to fail.
2

Set up the backend

Navigate to the backend/ directory and install dependencies. Bun is the recommended runtime because it executes TypeScript directly.
cd backend
bun install
Generate the JWT secret and other required secrets, then copy the example environment file and fill in your values:
bun run gen:jwt-secret
bun -e "console.log((await import('crypto')).randomBytes(64).toString('base64'))"
cp .env.example .env
nano .env
Key variables to configure in backend/.env:
VariableDescription
DB_HOST, DB_USER, DB_PASS, DB_NAMEMariaDB connection details
DB_TYPESet to mariadb
PORTPort the backend API listens on (e.g. 3001)
JWT_SECRETGenerated by bun run gen:jwt-secret
NODE_PQ_ENCRYPTION_SEED64-byte base64 key generated above
NODE_ENCRYPTION_KEYKey for encrypting node credentials
REDIS_URLRedis connection string (default: redis://localhost:6379)
FRONTEND_URLPublic URL of the frontend (e.g. https://panel.example.com)
PANEL_URLSame as FRONTEND_URL in most setups
ORIGINOrigin for CORS and CSRF checks
Seed the database to create the default rootAdmin role and its permissions:
bun run seed
Start the backend:
./start.sh
The backend listens on the PORT you configured and serves the REST API, handles multi-node mapping, and proxies WebSocket connections to Wings nodes.
For development, you can run bun src/index.ts directly instead of using ./start.sh.
3

Configure and start the frontend

In a separate terminal, navigate to the frontend/ directory:
cd frontend
pnpm install
Copy and configure the frontend environment file:
cp .env.example .env
nano .env
Key frontend environment variables:
VariableDescription
BACKEND_URLInternal URL of the backend (e.g. http://localhost:3001)
NEXT_PUBLIC_API_BASEPublic-facing API base URL
NEXT_PUBLIC_WINGS_BASEBase URL of the Wings node (e.g. http://localhost:8080)
Edit lib/panel-config.ts to set your branding — company name, logo path, and repository URL:
nano lib/panel-config.ts
Start the frontend:
./start.sh --port 3000
The frontend runs on port 3000 and automatically proxies /api/* requests to the backend and /wings/* requests to the Wings node via rewrites defined in next.config.mjs.
For production deployments, place Nginx (or another reverse proxy) in front of both the frontend and backend. The systemd unit files in the /systemd directory are available as a starting point for service management.
4

Promote your first admin user

Register an account through the frontend, then promote it to rootAdmin using the backend CLI script. The rootAdmin role has full permissions including the wildcard * grant.
cd backend
bun run promote -- admin@example.com
You can also specify the role explicitly:
bun run promote -- admin@example.com rootAdmin
To assign a less-privileged staff role:
bun run promote -- admin@example.com admin
5

Access the dashboard

Open http://localhost:3000 (or your configured domain) in a browser and log in with the account you promoted. You will land on the SOC Dashboard.From there you can:
  • Register Wings nodes from the Admin Panel
  • Create server allocations and provision game servers
  • Invite team members and create organisations
  • Configure billing plans, DNS zones, and feature flags

Next steps

Architecture

Learn how the backend, frontend, Wings nodes, and Rust components communicate

Nodes and Wings

Register Wings nodes and manage allocations from the admin panel

Roles and permissions

Configure roles, grant permissions, and manage staff access

Self-hosting guide

Full production installation reference including Nginx and systemd configuration

Build docs developers (and LLMs) love