mirror of
https://github.com/mauricioabh/arbpulse.git
synced 2026-07-27 15:47:43 +00:00
docs(deploy): target arbpulse.wayool.com via Cloudflare DNS-only
Set DOMAIN default to arbpulse.wayool.com and document the Cloudflare DNS setup (grey-cloud / DNS-only) so Caddy HTTP-01 and SSE work without proxy buffering. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
# Copy to ./.env on the VPS and fill in. Never commit the real .env.
|
# 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 for Caddy automatic HTTPS. Its Cloudflare DNS A record must point to this
|
||||||
DOMAIN=arbpulse.example.com
|
# 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
|
NODE_ENV=production
|
||||||
PORT=8080
|
PORT=8080
|
||||||
|
|||||||
+18
-2
@@ -7,13 +7,29 @@ Despliegue con Docker Compose: el contenedor `app` (Node + tsx) detrás de
|
|||||||
## Prerrequisitos
|
## Prerrequisitos
|
||||||
|
|
||||||
1. VPS Ubuntu/Debian (recomendado 2 vCPU / 2 GB RAM — p. ej. Hetzner CX22).
|
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
|
2. Subdominio en Cloudflare (zona `wayool.com`): `arbpulse.wayool.com` con un
|
||||||
HTTPS de Caddy).
|
registro **A → IP del VPS**. Ver "DNS en Cloudflare" abajo.
|
||||||
3. Puertos abiertos:
|
3. Puertos abiertos:
|
||||||
```bash
|
```bash
|
||||||
sudo ufw allow 22 && sudo ufw allow 80 && sudo ufw allow 443 && sudo ufw --force enable
|
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)
|
## Deploy (para el agente del VPS)
|
||||||
|
|
||||||
Todo lo hace el script idempotente `deploy.sh` (instala Docker si falta, clona o
|
Todo lo hace el script idempotente `deploy.sh` (instala Docker si falta, clona o
|
||||||
|
|||||||
Reference in New Issue
Block a user