Getting Started
Welcome to the Cyrus Panel documentation! Cyrus Panel is an open-source server and infrastructure management platform designed to deliver a fast, responsive Next.js frontend, a powerful Node.js API, and direct Docker socket orchestration via the Cyrus Daemon.
Before installing, review the prerequisites and choose the installation method that best matches your deployment.
System Requirements & Prerequisites
1. Node.js Runtime
Cyrus Panel requires Node.js v21 or newer.
- Tested & recommended version:
v24.19.0
Installing via NVM (Recommended)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
nvm install 24.19.0
nvm use 24.19.0
Installing via Linux Package Managers
- Debian / Ubuntu
- Fedora / Rocky / AlmaLinux
- Arch Linux
sudo apt update
sudo apt install -y nodejs npm unzip
sudo dnf install -y nodejs npm unzip
sudo pacman -S nodejs npm unzip
Always verify your active Node.js version before proceeding:
node -v # Must output v21.0.0 or higher
2. MongoDB Database
Cyrus Panel stores users, server configs, vouchers, and telemetry inside MongoDB. You will need either:
- A free cloud database instance from MongoDB Atlas (
mongodb+srv://...). - A self-hosted local MongoDB instance (
mongodb://127.0.0.1:27017/cyrus).
- For a step-by-step setup guide, see the MongoDB Setup Tutorial.
Choosing an Installation Method
You can install Cyrus Panel using either the pre-built release archive (easiest & recommended) or by cloning from source (if you want to customize the frontend or contribute).
Method A: Pre-built Release (Recommended)
Every official release includes a pre-compiled panel.zip with the Next.js frontend already built into static assets. No build step is required.
- Download the latest release archive:
- Using curl
- Using wget
curl -L -o panel.zip https://github.com/HasenDev/cyrus-panel/releases/latest/download/panel.zip
wget https://github.com/HasenDev/cyrus-panel/releases/latest/download/panel.zip
- Extract the archive and navigate into the directory:
unzip panel.zip -d cyrus-panel
cd cyrus-panel
- Install production dependencies:
npm install --omit=dev
- Start the panel and launch the setup wizard:
npm run start
Method B: Installing From Source
If you want to modify code or build directly from the latest Git commits:
-
Clone the repository:
git clone https://github.com/HasenDev/cyrus-panel.gitcd cyrus-panelnpm install -
Initialize the Frontend Submodule: Cyrus Panel uses a Git submodule for the Next.js user interface. Initialize it before building:
git submodule update --init --recursive -
Build the Frontend Assets:
npm run buildThis compiles the Next.js frontend into
./frontend/outand copies the static assets directly into./src/frontendfor the API to serve. -
Start the Panel:
npm run start
Keeping Cyrus Panel Updated
Need to upgrade an existing installation to a newer release? Check out the Updating Cyrus Panel guide.
Interactive First-Time Setup Wizard
If Cyrus Panel does not detect an existing .env configuration file, starting the server (npm run start) will automatically launch the Interactive Setup Wizard in your terminal:
┌─────────────────────────────────────────────────────────────┐
│ CYRUS PANEL SETUP WIZARD │
└─────────────────────────────────────────────────────────────┘
The wizard will interactively configure and test your environment:
- Bind Host & Port: Configure the local listening address and port (default is
57777). - Public Panel URL & Reverse Proxy: Set your public domain with SSL. See our Cloudflare Tunnels or Nginx Reverse Proxy guides.
- MongoDB Connection URI: Connects and verifies database connectivity. See the MongoDB Configuration Guide.
- JWT Secret: Generates a cryptographically secure token signing secret automatically.
- Google reCAPTCHA: Spam and bot protection for registration and login. See the reCAPTCHA Setup Guide.
- Email Delivery: Transactional emails via Resend (for now). See the Mail Configuration Guide.
- OxaPay Payment Gateway: Automated crypto billing and account balance top-ups. See the Payments Setup Guide.
Community & Resources
- Official Website: https://cyrus.admibot.xyz
- Bug Tracker: https://cyrus.admibot.xyz/bugs
- Discord Community: https://discord.gg/3yuMkSnrFd
- GitHub Repository: HasenDev/cyrus-panel
- License: GNU Affero General Public License v3.0 (AGPL-3.0)