Installation

Development Mode

Set up XyraPanel for local development

Set up your environment

You need Node.js 22, pnpm, PostgreSQL, and Redis running locally.

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs git postgresql redis-server
npm install -g pnpm

Clone and configure

git clone https://github.com/XyraPanel/panel.git
cd panel
cp .env.example .env

Edit .env with your local database credentials:

.env
APP_NAME="XyraPanel"
NODE_ENV="development"
DEBUG=false

DATABASE_URL="postgresql://xyra:changeme@localhost:5432/xyrapanel"

BETTER_AUTH_URL=http://localhost:3000
BETTER_AUTH_TRUSTED_ORIGINS=http://localhost:3000
NUXT_PUBLIC_APP_URL=http://localhost:3000
BETTER_AUTH_SECRET=   # openssl rand -base64 32

REDIS_HOST="localhost"
REDIS_PORT="6379"

CAPTCHA_PROVIDER="turnstile"
NUXT_TURNSTILE_SECRET_KEY=""
NUXT_PUBLIC_TURNSTILE_SITE_KEY=1x00000000000000000000AA

NUXT_MAX_REQUEST_SIZE_MB="10"
NUXT_MAX_UPLOAD_SIZE_MB="20"

Install dependencies and run

pnpm install
pnpm link --global   # exposes the `xyra` CLI
xyra db push
xyra nuxt dev
Prefer not to link the CLI globally? Use pnpm scripts directly:
pnpm run db:push
pnpm dev

The panel is available at http://localhost:3000.

Next steps