Merge pull request #22 from mauricioabh/dev
docs(deploy): target arbpulse.wayool.com via Cloudflare DNS-only
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
# Copy to ./.env on the VPS and fill in. Never commit the real .env.
|
||||
|
||||
# Domain for Caddy automatic HTTPS. Point its DNS A record to this VPS IP first.
|
||||
DOMAIN=arbpulse.example.com
|
||||
# Domain for Caddy automatic HTTPS. Its Cloudflare DNS A record must point to this
|
||||
# VPS IP as "DNS only" (grey cloud) so Caddy can issue the Let's Encrypt cert and
|
||||
# SSE (/api/stream) is not buffered by Cloudflare's proxy.
|
||||
DOMAIN=arbpulse.wayool.com
|
||||
|
||||
NODE_ENV=production
|
||||
PORT=8080
|
||||
|
||||
+18
-2
@@ -7,13 +7,29 @@ Despliegue con Docker Compose: el contenedor `app` (Node + tsx) detrás de
|
||||
## Prerrequisitos
|
||||
|
||||
1. VPS Ubuntu/Debian (recomendado 2 vCPU / 2 GB RAM — p. ej. Hetzner CX22).
|
||||
2. Un dominio con **registro DNS A apuntando a la IP del VPS** (necesario para el
|
||||
HTTPS de Caddy).
|
||||
2. Subdominio en Cloudflare (zona `wayool.com`): `arbpulse.wayool.com` con un
|
||||
registro **A → IP del VPS**. Ver "DNS en Cloudflare" abajo.
|
||||
3. Puertos abiertos:
|
||||
```bash
|
||||
sudo ufw allow 22 && sudo ufw allow 80 && sudo ufw allow 443 && sudo ufw --force enable
|
||||
```
|
||||
|
||||
## DNS en Cloudflare (zona wayool.com)
|
||||
|
||||
El dominio `wayool.com` está gestionado por Cloudflare. La app se sirve en el
|
||||
subdominio **`arbpulse.wayool.com`**.
|
||||
|
||||
- Registro: **A**, nombre `arbpulse`, contenido = IP pública del VPS.
|
||||
- **Proxy: "DNS only" (nube gris), NO proxied (nube naranja).**
|
||||
- Motivo: Caddy emite el cert Let's Encrypt vía HTTP-01 (requiere que el reto en
|
||||
el puerto 80 llegue directo al origen), y el stream SSE de `/api/stream` fluye
|
||||
sin el buffering/timeout del proxy de Cloudflare.
|
||||
- Si más adelante querés proxear con Cloudflare (naranja) para ocultar la IP,
|
||||
hay que cambiar Caddy a challenge DNS-01 (plugin `caddy-dns/cloudflare` + token
|
||||
de API) y poner SSL/TLS en "Full (strict)". No es necesario para arrancar.
|
||||
- Verificar propagación: `dig +short arbpulse.wayool.com` debe devolver la IP del
|
||||
VPS antes de que Caddy pida el certificado.
|
||||
|
||||
## Deploy (para el agente del VPS)
|
||||
|
||||
Todo lo hace el script idempotente `deploy.sh` (instala Docker si falta, clona o
|
||||
|
||||
Reference in New Issue
Block a user