feat(infra): déploie gitea + n8n-chlova sur local, topologie mono-hôte (v0.33.0)
Stacks gitea (1.26.4, git.pogoo.app) et n8n-chlova (2.20.8, n8n-chlova.pogoo.app) déployés via Portainer sur l'hôte local (réseau proxy), versionnés dans infra/. docker-compose.prod.yml recâblé pour le tout-local (MCP_N8N_URL n8n-chlova, PORTAINER_URL interne, sidecar sur proxy). Runbook deploy.md réécrit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016w5jRe87MGdd6AMvXQcHNi
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# n8n dédié à CHLOVA — instance séparée du n8n de prospection (qui vit sur le VPS).
|
||||
#
|
||||
# Déployé sur l'hôte `local` (Portainer endpoint 3), réseau `proxy`, exposé en
|
||||
# https://n8n-chlova.pogoo.app via Traefik (resolver letsencrypt). Joignable en
|
||||
# interne par le backend CHLOVA : http://n8n-chlova:5678 (MCP natif sur
|
||||
# /mcp-server/http). Voir docs/deploy.md §3b.
|
||||
#
|
||||
# Image épinglée (même tag que l'instance existante, connue bonne). La clé de
|
||||
# chiffrement N8N_ENCRYPTION_KEY n'est PAS fournie ici : n8n l'auto-génère et la
|
||||
# persiste dans le volume au 1er démarrage (instance mono-nœud).
|
||||
|
||||
services:
|
||||
n8n:
|
||||
image: docker.n8n.io/n8nio/n8n:2.20.8
|
||||
container_name: n8n-chlova
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- n8n_chlova_data:/home/node/.n8n
|
||||
environment:
|
||||
- N8N_HOST=n8n-chlova.pogoo.app
|
||||
- N8N_PORT=5678
|
||||
- N8N_PROTOCOL=https
|
||||
- WEBHOOK_URL=https://n8n-chlova.pogoo.app/
|
||||
- N8N_EDITOR_BASE_URL=https://n8n-chlova.pogoo.app/
|
||||
- N8N_SECURE_COOKIE=true
|
||||
- N8N_TRUST_PROXY=true
|
||||
- N8N_PROXY_HOPS=1
|
||||
- NODE_ENV=production
|
||||
- N8N_DIAGNOSTICS_ENABLED=false
|
||||
- N8N_VERSION_NOTIFICATIONS_ENABLED=false
|
||||
- N8N_HIRING_BANNER_ENABLED=false
|
||||
- N8N_PERSONALIZATION_ENABLED=false
|
||||
- N8N_PUBLIC_API_DISABLED=true
|
||||
- N8N_PUBLIC_API_SWAGGER_UI_DISABLED=true
|
||||
- N8N_BLOCK_ENV_ACCESS_IN_NODE=true
|
||||
- GENERIC_TIMEZONE=Europe/Paris
|
||||
- TZ=Europe/Paris
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://localhost:5678/healthz || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=proxy"
|
||||
- "traefik.http.routers.n8n-chlova.rule=Host(`n8n-chlova.pogoo.app`)"
|
||||
- "traefik.http.routers.n8n-chlova.entrypoints=websecure"
|
||||
- "traefik.http.routers.n8n-chlova.tls=true"
|
||||
- "traefik.http.routers.n8n-chlova.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.n8n-chlova.loadbalancer.server.port=5678"
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
name: proxy
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
n8n_chlova_data:
|
||||
driver: local
|
||||
Reference in New Issue
Block a user