selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

CELERITY-panel logo

Self-host CELERITY-panel

v1.6.19

Web panel for Hysteria 2 and Xray VLESS proxy servers

ReleaseOpen SourceMIT
Updated12 hours ago
LanguageJavaScript
Setup difficultyAdvanced
Stars
219
Ports
80 (HTTP (Greenlock ACME challenge)), 443 (HTTPS (Greenlock/Let's Encrypt)), 3000 (HTTP backend (local development, USE_CADDY=true))
Requires
MongoDB, Redis
Docker
clickdevtech/hysteria-panel
Install with Docker Compose
C³ CELERITY Dashboard — real-time server monitoring and statistics

What is CELERITY-panel?

C³ CELERITY is a self-hosted web panel for administering Hysteria 2 and Xray VLESS proxy servers. It provides a complete web interface for managing nodes and users, with dual-protocol support, TOTP-based two-factor authentication for admin login, automatic node setup via SSH, flexible server groups for user-to-node mapping, load balancing, ACL traffic filtering with custom proxy routing, subscription generation for popular clients (Clash, Sing-box, Shadowrocket, Hiddify), automated backups with S3-compatible storage support, an in-browser SSH terminal for direct node access, scoped API keys with rate limiting, HMAC-signed webhooks for real-time events, a visual network map for cascade topology (beta), MCP integration for AI assistants (Claude, Cursor), external diagnostic probes using sing-box, and generic CDN nodes for publishing Xray inbounds through CDNs. The panel runs as a Node.js application with MongoDB and Redis dependencies, deployed via Docker Compose in production (Greenlock/Let's Encrypt HTTPS on ports 80/443), local development (HTTP on port 3000), or Dokploy with Traefik. It is licensed under MIT and actively maintained.

Should you self-host CELERITY-panel?

CELERITY-panel scores 49/100 on selfhost.directory (how scoring works) and ranks #16 of 25 in Proxy. It has 219 GitHub stars.

It shipped 17 stable releases in the past year. The latest, v1.6.19, came out on 26 October 2026. New versions land roughly every 4 days.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is MIT-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is frp (85/100, 110 243 stars). It scores higher overall, so compare the two before you pick. See CELERITY-panel vs frp side by side.

Features

  • API Keys
  • Auto Node Setup
  • Backup/Restore
  • Dual Protocol Support
  • External Diagnostic Probes
  • Load Balancing
  • MCP Integration
  • Network Map (Cascade Topology)Beta feature - manual verification after deploy recommended
  • Server Groups
  • SSH Terminal
  • Subscriptions
  • Traffic Filtering (ACL)
  • Two-factor authentication (TOTP)
  • Webhooks
  • Web Panel

CELERITY-panel README

How to install CELERITY-panel

Install CELERITY-panel with Docker Compose

Environment variables
PANEL_DOMAIN, ACME_EMAIL, ENCRYPTION_KEY, SESSION_SECRET, MONGO_PASSWORD, MONGO_USER, UPDATER_SECRET, PANEL_TAG

mkdir hysteria-panel && cd hysteria-panel curl -O https://raw.githubusercontent.com/ClickDevTech/hysteria-panel/main/docker-compose.hub.yml curl -O https://raw.githubusercontent.com/ClickDevTech/hysteria-panel/main/docker.env.example mkdir -p greenlock.d curl -o greenlock.d/config.json https://raw.githubusercontent.com/ClickDevTech/hysteria-panel/main/greenlock.d/config.json cp docker.env.example .env nano .env # Set your domain, email, and secrets docker compose -f docker-compose.hub.yml up -d

Production deployment with Greenlock/Let's Encrypt HTTPS on ports 80/443

How to configure CELERITY-panel

  • ACME_EMAILEmail для Let's Encrypt сертификата

    Email для Let's Encrypt сертификата

  • API_DOCS_ENABLEDИнтерактивная документация API (Scalar UI) по адресу /api/docs По умолчанию: выключено

    Интерактивная документация API (Scalar UI) по адресу /api/docs По умолчанию: выключено

  • DOKPLOY_PANEL_HOSTХост для Traefik роутера Dokploy (без https://)

    Хост для Traefik роутера Dokploy (без https://)

  • DOKPLOY_TRAEFIK_SERVICE_PORT3000Порт backend сервиса в Dokploy + порт Traefik loadbalancer

    Порт backend сервиса в Dokploy + порт Traefik loadbalancer

  • ENCRYPTION_KEYКлюч шифрования SSH паролей (РОВНО 32 символа! Генерируйте: openssl rand -hex 16)

    Ключ шифрования SSH паролей (РОВНО 32 символа! Генерируйте: openssl rand -hex 16)

  • LOG_LEVELinfoУровень логирования (error, warn, info, debug) debug - показывает все логи включая отладочные info - только важные события (по умолчанию)

    Уровень логирования (error, warn, info, debug) debug - показывает все логи включая отладочные info - только важные события (по умолчанию)

  • MONGO_PASSWORDMongoDB пароль (генерируйте: openssl rand -hex 16)

    MongoDB пароль (генерируйте: openssl rand -hex 16)

  • MONGO_USERhysteria
  • PANEL_DOMAINДомен панели (без https://)

    Домен панели (без https://)

  • PANEL_IP_WHITELISTIP whitelist для панели и API (через запятую, пусто = разрешено всем) Примеры: 127.0.0.1, 192.168.1.0/24

    IP whitelist для панели и API (через запятую, пусто = разрешено всем) Примеры: 127.0.0.1, 192.168.1.0/24

  • PANEL_TAGТег образа панели для docker-compose.hub.yml (по умолчанию: latest). Перезаписывается автоматически при обновлении/откате из UI.

    Тег образа панели для docker-compose.hub.yml (по умолчанию: latest). Перезаписывается автоматически при обновлении/откате из UI.

  • PORTПорт backend сервиса (по умолчанию: 3000)

    Порт backend сервиса (по умолчанию: 3000)

  • REDIS_URLRedis URL (по умолчанию: redis://redis:6379)

    Redis URL (по умолчанию: redis://redis:6379)

  • SESSION_COOKIE_SECURESecure-cookie для сессии админа. По умолчанию включено. docker-compose.local.yml выставляет false для локального HTTP.

    Secure-cookie для сессии админа. По умолчанию включено. docker-compose.local.yml выставляет false для локального HTTP.

  • SESSION_SECRETСекрет сессий (генерируйте: openssl rand -hex 32)

    Секрет сессий (генерируйте: openssl rand -hex 32)

  • SSH_DIRECT_MAX_CONCURRENTЛимит параллельных прямых SSH-подключений (когда пул выключен). Защита от перегрузки CPU при сетевой нестабильности (issue #70). По умолчанию: 3. Увеличивать на свой риск — на 1 vCPU больше 3 хэндшейков одновременно гарантированно сажают панель.

    Лимит параллельных прямых SSH-подключений (когда пул выключен). Защита от перегрузки CPU при сетевой нестабильности (issue #70). По умолчанию: 3. Увеличивать на свой риск — на 1 vCPU больше 3 хэндшейков одновременно гарантированно сажают панель.

  • SYNC_INTERVAL2Интервал синхронизации с нодами (в минутах)

    Интервал синхронизации с нодами (в минутах)

  • UPDATER_SECRETСекрет для обновления панели из UI (генерируйте: openssl rand -hex 32). Общий секрет между панелью и sidecar-контейнером updater. Пока он не задан (минимум 32 символа), обновление из UI недоступно и updater отклоняет все запросы. Задавать только на docker-compose.yml и docker-compose.hub.yml.

    Секрет для обновления панели из UI (генерируйте: openssl rand -hex 32). Общий секрет между панелью и sidecar-контейнером updater. Пока он не задан (минимум 32 символа), обновление из UI недоступно и updater отклоняет все запросы. Задавать только на docker-compose.yml и docker-compose.hub.yml.

  • USE_CADDYРежим TLS. USE_CADDY=true — backend отдаёт обычный HTTP на PORT (по умолчанию 3000), а TLS терминирует внешний reverse-proxy (Caddy/Traefik). Так настроены docker-compose.yml и docker-compose.dokploy.yml. не задано — backend сам поднимает HTTPS:443 через Greenlock и тянет сертификат Let's Encrypt (нужен реальный домен и публичные порты 80/443). Для локальной разработки по HTTP без домена с

    Режим TLS. USE_CADDY=true — backend отдаёт обычный HTTP на PORT (по умолчанию 3000), а TLS терминирует внешний reverse-proxy (Caddy/Traefik). Так настроены docker-compose.yml и docker-compose.dokploy.yml. не задано — backend сам поднимает HTTPS:443 через Greenlock и тянет сертификат Let's Encrypt (нужен реальный домен и публичные порты 80/443). Для локальной разработки по HTTP без домена с

CELERITY-panel releases & version history

More in Proxy

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…