独立服务器安装
独立服务器安装意味着您将在与 Remnawave 面板不同的服务器上安装订阅页面。
步骤 1 - 准备 .env 文件
请在安装了 Remnawave 面板的服务器上进行此更改。
编辑 /opt/remnawave/.env 文件,将 SUB_PUBLIC_DOMAIN 更改为您的订阅页面域名。
cd /opt/remnawave && nano .env
将 SUB_PUBLIC_DOMAIN 更改为您的订阅页面域名。域名必须不含 http 或 https。
SUB_PUBLIC_DOMAIN=subscription.domain.com
不要忘记重新启动 Remnawave 面板容器:
cd /opt/remnawave && docker compose down remnawave && docker compose up -d && docker compose logs -f
步骤 2 - 创建 docker-compose.yml 文件
此步骤及后续步骤应在另一台服务器上执行!
确保在将要安装订阅页面的服务器上已安装 Docker。
mkdir -p /opt/remnawave/subscription && cd /opt/remnawave/subscription && nano docker-compose.yml
services:
remnawave-subscription-page:
image: remnawave/subscription-page:latest
container_name: remnawave-subscription-page
hostname: remnawave-subscription-page
restart: always
env_file:
- .env
ports:
- '127.0.0.1:3010:3010'
networks:
- remnawave-network
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: false
现在创建 .env 文件:
mkdir -p /opt/remnawave/subscription && cd /opt/remnawave/subscription && nano .env
在 Remnawave 控制台中创建 API 令牌。Remnawave 设置 → API 令牌。
将以下内容粘贴到 .env 文件中:
APP_PORT=3010
REMNAWAVE_PANEL_URL=https://remnawave.panel.com
REMNAWAVE_API_TOKEN=API_TOKEN_FROM_REMNAWAVE
将 remnawave.panel.com 替换为您的面板域名。
完整 .env 文件参考
APP_PORT=3010
### Remnawave 面板 URL,可以是 http://remnawave:3000 或 https://panel.example.com
REMNAWAVE_PANEL_URL=https://panel.example.com
REMNAWAVE_API_TOKEN=API_TOKEN_FROM_REMNAWAVE
# 在自定义根路径提供服务,例如:CUSTOM_SUB_PREFIX=sub
# 开头/结尾不要放 /
CUSTOM_SUB_PREFIX=
# 支持 Marzban 链接
MARZBAN_LEGACY_LINK_ENABLED=false
MARZBAN_LEGACY_SECRET_KEY=
# 如果您使用「含安全性的 Caddy」插件,可以在此处放置 X-Api-Key。
CADDY_AUTH_API_TOKEN=
# 如果您使用 Cloudflare Zero Trust 保护面板,请使用这些变量绕过安全限制。
CLOUDFLARE_ZERO_TRUST_CLIENT_ID=
CLOUDFLARE_ZERO_TRUST_CLIENT_SECRET=
步骤 3 - 启动容器
docker compose up -d && docker compose logs -f
步骤 4 - 配置反向代理
Remnawave 及其组件不支持在子路径上提供服务。(例如 location /subscription {)
它必须在域或子域的根路径上提供服务。
对于自定义路径,您可以使用 CUSTOM_SUB_PREFIX 参数。
Caddy
Caddy 配置
在 /opt/remnawave/caddy 目录中创建名为 Caddyfile 的文件。
mkdir -p /opt/remnawave/caddy && cd /opt/remnawave/caddy && nano Caddyfile
粘贴以下配置。
请将 REPLACE_WITH_YOUR_DOMAIN 替换为您的订阅页面域名。
查看以下配置,注意红色高亮行。
https://SUBSCRIPTION_PAGE_DOMAIN {
reverse_proxy * http://remnawave-subscription-page:3010
}
:443 {
tls internal
respond 204
}
请将 SUBSCRIPTION_PAGE_DOMAIN 替换为您的域名。
查看以下配置,注意绿色高亮行。
创建 docker-compose.yml
在 /opt/remnawave/caddy 目录中创建 docker-compose.yml 文件。
cd /opt/remnawave/caddy && nano docker-compose.yml
粘贴以下配置。
services:
caddy:
image: caddy:2.9
container_name: 'caddy'
hostname: caddy
restart: always
ports:
- '0.0.0.0:443:443'
- '0.0.0.0:80:80'
networks:
- remnawave-network
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy-ssl-data:/data
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: true
volumes:
caddy-ssl-data:
driver: local
external: false
name: caddy-ssl-data
启动容器
docker compose up -d && docker compose logs -f -t
步骤 5 - 使用
订阅页面将在 https://subdomain.panel.com/<shortUuid> 处可用。
配置订阅页面(可选)
您可以在 Remnawave 控制台的子页面构建工具中自定义订阅页面。这允许您:
- 添加对不同 VPN 应用程序的支持
- 以多种语言自定义文字和说明
- 添加您自己的品牌(标志、公司名称、支持链接)
- 设置哪些应用程序显示为「精选」