Cardinal Panel
Server & Container Control Panel on Cardinal
Full-featured web management dashboard for dedicated game servers and containers built with Nuxt 4, Vue 3, Drizzle ORM (SQLite / MySQL), and WebSocket terminal, communicating with nodes via Cardinal Wings.
Project Overview
Cardinal Panel is a modern web control panel for managing game servers (Minecraft Paper, Fabric, BungeeCord, bots, and custom applications) running on Cardinal through the Cardinal Wings agent.
The panel never accesses host containers directly: orchestration is handled via the Cardinal Wings REST API. Containers are tracked using deterministic identifiers (`srv-<uuid>`), eliminating migration drift and surviving container reinstalls.
Implementation stack: Nuxt 4, Vue 3, TypeScript, Tailwind CSS, Drizzle ORM (SQLite default with MySQL support), WebSocket for real-time console streaming, Monaco Editor for in-browser configuration editing, and 2FA authentication.
Browser ──► Cardinal Panel (Nuxt, :3000) ──► Wings Node (:8080) ──► Cardinal serve ──► Container. Real-time console, filesystem access, and backups stream through authenticated API boundaries.
curl -fsSL https://raw.githubusercontent.com/animesao/cardinal-panel/main/install.sh | sudo bashCapabilities & Status
Interactive command dispatch and ANSI log streaming via WebSocket
In-browser code editor with syntax highlighting, file upload, and SFTP bridge
Stable `srv-<uuid>` container naming surviving rebuilds and updates
Orchestrating distributed nodes running Cardinal Wings through uniform API
