Files
2026-08-09 17:15:58 +00:00

49 lines
1.9 KiB
Markdown

# Ghost News
Ghost publica `news.sherlockhomeless.net` como archivo de informes diarios.
## Arquitectura y configuración
- `ghost-db` conserva contenido y miembros en MySQL; sólo pertenece a `ghost_internal`.
- `ghost` sirve la publicación, persiste temas y medios en `GHOST_CONTENT_PATH`, usa `mail-relay` y se publica mediante `proxy`.
- `ghost-ops-gate` protege el índice privado `/ops` comprobando el miembro autenticado contra `GHOST_OPS_ALLOWED_EMAIL` y consultando posts con `GHOST_CONTENT_API_KEY`.
`GHOST_DOMAIN` fija la URL canónica; las variables `GHOST_DB_*` deben coincidir entre Ghost y MySQL. `GHOST_MAIL_FROM` controla el remitente. La Content API key sólo permite lectura, pero sigue siendo secreta y debe vivir únicamente en `.env`.
Los overrides de `theme-overrides/headline` ocultan publicaciones etiquetadas `#private-ops`. Deben aplicarse sobre la versión compatible del tema; tras actualizar Ghost o Headline, revisa diferencias antes de copiarlos.
La capa `/ops` no reemplaza la seguridad de cada post: usa miembros de Ghost, etiqueta interna y visibilidad adecuada, además del gate.
## Despliegue
```bash
cd ghost
docker compose --env-file .env config
docker compose --env-file .env up -d
```
El dominio se expone por Traefik en la red `proxy` y queda protegido con `crowdsec-bouncer@file`.
La administracion queda bajo el login propio de Ghost en `/ghost/`.
## Primer acceso
Abre:
```text
https://news.sherlockhomeless.net/ghost/
```
Completa el usuario administrador inicial de Ghost.
## Integracion futura con n8n
El flujo recomendado es:
```text
n8n genera informe completo
-> publica post en Ghost por Admin API
-> envia email/Telegram con resumen + enlace
```
Para publicar desde n8n no hace falta atravesar Traefik: puede llamar al servicio interno `http://ghost:2368` si se conecta la red correspondiente o se usa una ruta interna dedicada.