- intent_service.py: PERSONA_FULL/PERSONA_LOCAL 상수 정의 + GET /persona 엔드포인트 추가 - 기존 ID_SYSTEM_PROMPT (반말) 제거, PERSONA_LOCAL (존댓말)로 교체 - [자아], [기능 범위] 섹션 추가로 Opus 거짓 응답 방지 - n8n: Call Qwen/Haiku/Opus 3개 노드 → /persona 엔드포인트 런타임 fetch로 전환 - 각 노드에 httpGet 함수 + fallback 프롬프트 추가 - Haiku의 [기능 범위] 별도 추가 코드 제거 (PERSONA_FULL에 이미 포함) - docker-compose.yml: INTENT_SERVICE_URL 환경변수 추가 - manage_services.sh: intent-service를 SERVICES 배열에 추가 - init/migrate-v8.sql: DB ai_configs/prompts 표시용 동기화 - init/init.sql: 시드 데이터 동기화 + "표시용" 주석 추가 - docs/architecture.md: 페르소나 섹션 업데이트 (단일 소스 명시) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
73 lines
2.4 KiB
YAML
73 lines
2.4 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
|
|
- INTENT_SERVICE_URL=http://host.docker.internal:8099
|
|
- 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
|