要求
源代码
面板 — xray-panel/backend · 节点 — xray-panel/node · 订阅页面 — xray-panel/subscription-page
面板服务器
| 资源 | 最低配置 | 说明 |
|---|---|---|
| CPU | 2 核 | |
| RAM | 4 GB | 在测试环境 3.8 GB 上也能运行 |
| 磁盘 | 20 GB | 数据库会随流量历史增长 |
| 操作系统 | 带 Docker 和 Docker Compose 的 Linux |
PostgreSQL 和 Valkey 以容器方式启动 —— 不需要单独安装。 此外还需要域名和 TLS 证书:没有带 HTTPS 的反向代理, 面板无法启动(参见反向代理)。
节点服务器
| 资源 | 最低配置 |
|---|---|
| CPU | 1 核 |
| RAM | 1 GB |
| 磁盘 | 1 GB |
| Docker | 必需 |
端口:
- 2222(
NODE_PORT) —— 节点管理端口。必须能从面板服务器访问。 不需要向整个互联网开放:一条针对面板 IP 的防火墙规则就够了。 - 代理端口 —— 由 Xray 配置(inbound)指定。对客户端开放。
- 节点容器中必须使用
--network host:Xray 需要自行监听端口, 而端口转发会破坏真实客户端 IP 的识别。
域名
| 域名 | 是否必需 | 用途 |
|---|---|---|
panel.example.com | 是 | 面板和 API |
sub.example.com | 否 | 订阅页面 |
这些值会写入 .env:
PANEL_DOMAIN=https://panel.example.com
FRONT_END_DOMAIN=https://panel.example.com
SUB_PUBLIC_DOMAIN=panel.example.com/api/sub
说明
SUB_PUBLIC_DOMAIN 不带 https://,结尾也不带斜杠:该值会被写入
profile-web-page-url 头和客户端收到的链接中。
兼容性
- 数据库迁移会在容器启动时自动应用。
- 从 Remnawave 迁移时数据库是兼容的:参见从 Remnawave 迁移。