Saltar al contenido principal

Servidor separado

La instalación en servidor separado significa que instalará la página de suscripción en un servidor diferente al de Remnawave Panel.

Paso 1 - Preparar el archivo .env

aviso

Realice estos cambios en el servidor donde está instalado Remnawave Panel.

Edite el archivo /opt/remnawave/.env y cambie SUB_PUBLIC_DOMAIN al nombre de dominio de su página de suscripción.

Editando el archivo .env
cd /opt/remnawave && nano .env

Cambie SUB_PUBLIC_DOMAIN al nombre de dominio de su página de suscripción. El nombre de dominio debe estar sin http o https.

Contenido del archivo .env
SUB_PUBLIC_DOMAIN=subscription.domain.com

No olvide reiniciar el contenedor de Remnawave Panel:

cd /opt/remnawave && docker compose down remnawave && docker compose up -d && docker compose logs -f

Paso 2 - Crear el archivo docker-compose.yml

aviso

¡Este paso y los siguientes deben realizarse en otro servidor!

aviso

Asegúrese de tener Docker instalado en el servidor donde instalará la página de suscripción.

Creando el archivo docker-compose.yml
mkdir -p /opt/remnawave/subscription && cd /opt/remnawave/subscription && nano docker-compose.yml
Contenido del archivo 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

Ahora cree el archivo .env:

Creando el archivo .env
mkdir -p /opt/remnawave/subscription && cd /opt/remnawave/subscription && nano .env

Cree un token de API en el panel de Remnawave. Configuración de Remnawave → Tokens de API.

Pegue el siguiente contenido en el archivo .env:

APP_PORT=3010
REMNAWAVE_PANEL_URL=https://remnawave.panel.com
REMNAWAVE_API_TOKEN=API_TOKEN_FROM_REMNAWAVE

Reemplace remnawave.panel.com con el nombre de dominio de su panel.

Referencia completa del archivo .env
Archivo .env
APP_PORT=3010

### URL del panel Remnawave, puede ser http://remnawave:3000 o https://panel.example.com
REMNAWAVE_PANEL_URL=https://panel.example.com
REMNAWAVE_API_TOKEN=API_TOKEN_FROM_REMNAWAVE

# Servir en ruta raíz personalizada, por ejemplo: CUSTOM_SUB_PREFIX=sub
# No coloque / al inicio/final
CUSTOM_SUB_PREFIX=

# Soporte para enlaces Marzban
MARZBAN_LEGACY_LINK_ENABLED=false
MARZBAN_LEGACY_SECRET_KEY=


# Si usa el complemento "Caddy with security", puede colocar aquí el X-Api-Key.
CADDY_AUTH_API_TOKEN=

# Si usa Cloudflare Zero Trust para proteger su panel, use estas variables para omitir la seguridad.
CLOUDFLARE_ZERO_TRUST_CLIENT_ID=
CLOUDFLARE_ZERO_TRUST_CLIENT_SECRET=

Paso 3 - Iniciar el contenedor

Iniciando el contenedor
docker compose up -d && docker compose logs -f

Paso 4 - Configurar el proxy inverso

peligro

Remnawave y sus componentes no admiten ser servidos en una subruta. (p.ej. location /subscription {)

Debe ser servido en la ruta raíz de un dominio o subdominio.

Para ruta personalizada, puede usar el parámetro CUSTOM_SUB_PREFIX.

Caddy

Configuración de Caddy

Cree un archivo llamado Caddyfile en el directorio /opt/remnawave/caddy.

mkdir -p /opt/remnawave/caddy && cd /opt/remnawave/caddy && nano Caddyfile

Pegue la siguiente configuración.

aviso

Por favor, reemplace REPLACE_WITH_YOUR_DOMAIN con el nombre de dominio de su página de suscripción.

Revise la configuración a continuación, busque las líneas resaltadas en rojo.

Caddyfile
https://SUBSCRIPTION_PAGE_DOMAIN {
reverse_proxy * http://remnawave-subscription-page:3010
}
:443 {
tls internal
respond 204
}
aviso

Por favor reemplace SUBSCRIPTION_PAGE_DOMAIN con su nombre de dominio.

Revise la configuración a continuación, busque las líneas resaltadas en verde.

Crear docker-compose.yml

Cree un archivo docker-compose.yml en el directorio /opt/remnawave/caddy.

cd /opt/remnawave/caddy && nano docker-compose.yml

Pegue la siguiente configuración.

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

Iniciar el contenedor

docker compose up -d && docker compose logs -f -t

Paso 5 - Uso

La página de suscripción estará disponible en https://subdomain.panel.com/<shortUuid>.

Configurar la página de suscripción (opcional)

Puede personalizar la página de suscripción en el Subpage Builder del panel de Remnawave. Esto le permite:

  • Agregar soporte para diferentes aplicaciones VPN
  • Personalizar texto e instrucciones en varios idiomas
  • Agregar su propia marca (logotipo, nombre de empresa, enlaces de soporte)
  • Configurar qué aplicaciones aparecen como "destacadas"