Files
syn-chat-bot/docker-compose.yml
Hyungi Ahn de5dde43ab feat: 회고 시스템 Phase 1 캡처 파이프라인
chat_bridge에 회고 채널 텍스트 폴링 + n8n 포워딩 추가.
n8n 워크플로우(8노드): Webhook → Validate → Qwen 분류 → PostgreSQL INSERT → Chat 확인.
retrospect 스키마 + 3 테이블 (entries, reviews, patterns).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:57:13 +09:00

72 lines
2.3 KiB
YAML

services:
bot-n8n:
image: n8nio/n8n:latest
container_name: bot-n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=bot-postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
- N8N_BLOCK_ENV_ACCESS_IN_NODE=false
- N8N_HOST=0.0.0.0
- WEBHOOK_URL=http://localhost:5678/
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- SYNOLOGY_CHAT_WEBHOOK_URL=${SYNOLOGY_CHAT_WEBHOOK_URL}
- SYNOLOGY_CHAT_TOKEN=${SYNOLOGY_CHAT_TOKEN}
- ADMIN_USERNAMES=${ADMIN_USERNAMES}
- API_BUDGET_HEAVY=${API_BUDGET_HEAVY}
- API_BUDGET_LIGHT=${API_BUDGET_LIGHT}
- LOCAL_OLLAMA_URL=${LOCAL_OLLAMA_URL}
- GPU_OLLAMA_URL=${GPU_OLLAMA_URL}
- QDRANT_URL=${QDRANT_URL:-http://host.docker.internal:6333}
- HEIC_CONVERTER_URL=http://host.docker.internal:8090
- CHAT_BRIDGE_URL=http://host.docker.internal:8091
- CALDAV_BRIDGE_URL=http://host.docker.internal:8092
- MAIL_BRIDGE_URL=http://host.docker.internal:8094
- KB_WRITER_URL=http://host.docker.internal:8095
- RETROSPECT_CHAT_WEBHOOK_URL=${RETROSPECT_CHAT_WEBHOOK_URL}
- NODE_FUNCTION_ALLOW_BUILTIN=crypto,http,https,url
volumes:
- ./n8n/data:/home/node/.n8n
networks:
- bot-network
depends_on:
bot-postgres:
condition: service_healthy
extra_hosts:
- "host.docker.internal:host-gateway"
bot-postgres:
image: postgres:16-alpine
container_name: bot-postgres
restart: unless-stopped
ports:
- "127.0.0.1:15478:5432"
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ./postgres/data:/var/lib/postgresql/data
- ./init:/docker-entrypoint-initdb.d
networks:
- bot-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 5
networks:
bot-network:
driver: bridge