Quick Start
XLADA is a proxy management panel built on Xray-core. It provides a web interface and a REST API for users, nodes, subscriptions, and Xray configurations. XLADA is a fork of Remnawave under the AGPL-3.0 license, with stronger privacy and control over your data.
What the system is made ofâ
| Component | Where it runs | Purpose |
|---|---|---|
| Panel | management server | web interface and REST API |
| Node | each proxy server | runs Xray-core, controlled by the panel |
| Subscription page | management server | branded page with the user's keys |
At minimum you need a panel and at least one node. The subscription page is optional: without it, the user gets the link directly.
administrator browser
â HTTPS
âŧ
ââââââââââââââââââââ HTTPS + mTLS + JWT ââââââââââââââââ
â Panel (xpanel) â ââââââââââââââââââââââââââââââââļ â Node (Xray) â
â PostgreSQL â ââââââââââââââââââââââââââââââââ â proxy server â
â Valkey â inbound only ââââââââââââââââ
ââââââââââââââââââââ
â˛
â HTTPS
subscription page (xpanel-subpage)
Installing the panelâ
You need a server with Docker and a domain that points to it.
git clone https://github.com/xray-panel/deploy.git /opt/xlada
cd /opt/xlada
cp panel.env.sample .env
chmod 600 .env
# fill in .env:
# APP_SECRET â openssl rand -hex 32, cannot be changed after startup
# POSTGRES_PASSWORD â openssl rand -hex 16
# PANEL_DOMAIN, FRONT_END_DOMAIN, SUB_PUBLIC_DOMAIN
# METRICS_USER, METRICS_PASS â required, the container will not start without them
docker compose up -d
The panel comes up on 127.0.0.1:3000. nginx exposes it to the outside:
cp nginx/panel.conf /etc/nginx/sites-available/xlada-panel
ln -sf /etc/nginx/sites-available/xlada-panel /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d panel.example.com
The panel code contains middleware that drops the connection if the request arrives
without the X-Forwarded-For and X-Forwarded-Proto: https headers. Without a
reverse proxy with TLS the panel does not work.
Open https://panel.example.com â the panel will prompt you to create an administrator.
Password: at least 24 characters, and it must contain lowercase letters, uppercase
letters, and digits.
Connecting a nodeâ
- In the panel: Nodes â create node â the panel shows a
SECRET_KEY. - On the proxy server:
docker run -d \
--name xpanel-node \
--restart unless-stopped \
--network host \
--cap-add NET_ADMIN \
--ulimit nofile=1048576:1048576 \
-e NODE_PORT=2222 \
-e SECRET_KEY="<SECRET_KEY from the panel>" \
ghcr.io/xray-panel/node:latest
Within a minute the node appears in the panel as connected.
What's nextâ
- System components â how everything fits together and what talks to what.
- Requirements â hardware, ports, domains.
- Panel installation â a detailed guide with a breakdown of
.env. - Node installation â operating modes, plugins, logs.
- Environment variables â every switch.
- API Specification â 162 endpoints in OpenAPI.