- New twenty_crm.py: full CRUD for people, companies, notes via Twenty REST API - Lead capture now creates person + company in Twenty CRM automatically - New update_lead tool: enriches CRM profile as conversation progresses (job title, phone, city, budget, requirements) - Session meta stored in Redis to track Twenty person ID across messages - Docker-compose updated with TWENTY_CRM env vars - Chat bubble: pulsating ring animation with gradient background Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
services:
|
|
web:
|
|
image: nginx:alpine
|
|
container_name: aimpress-website
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik-public
|
|
volumes:
|
|
- ./dist:/usr/share/nginx/html:ro
|
|
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.aimpress-website.rule=Host(`ai-impress.com`) || Host(`www.ai-impress.com`)"
|
|
- "traefik.http.routers.aimpress-website.entrypoints=websecure"
|
|
- "traefik.http.routers.aimpress-website.tls.certresolver=cloudflare"
|
|
- "traefik.http.services.aimpress-website.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.aimpress-website.middlewares=security-headers@file"
|
|
|
|
email-api:
|
|
build: ./email-api
|
|
container_name: aimpress-email-api
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik-public
|
|
environment:
|
|
- RESEND_API_KEY=${RESEND_API_KEY}
|
|
|
|
chatbot-api:
|
|
build: ./chatbot-api
|
|
container_name: aimpress-chatbot-api
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik-public
|
|
environment:
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- REDIS_URL=redis://aimpress-chatbot-redis:6379
|
|
- ROCKETCHAT_URL=https://chat.ai-impress.com
|
|
- ROCKETCHAT_AUTH_TOKEN=${ROCKETCHAT_AUTH_TOKEN}
|
|
- ROCKETCHAT_USER_ID=${ROCKETCHAT_USER_ID}
|
|
- N8N_WEBHOOK_URL=https://n8n.ai-impress.com/webhook
|
|
- TWENTY_CRM_URL=https://crm.ai-impress.com
|
|
- TWENTY_CRM_API_KEY=${TWENTY_CRM_API_KEY}
|
|
|
|
chatbot-redis:
|
|
image: redis:alpine
|
|
container_name: aimpress-chatbot-redis
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik-public
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|