Files
odoo-ai/docker-compose.odoo.yml
Carlos Garcia 103f575f92 fix(addon): bot presence — fix network isolation, computed field write, and timer gap
- docker-compose.odoo.yml: add activeblue-net so Odoo can reach
  activeblue-agent by hostname; fix addons volume mount (was odoo_module)
- ab_ai_bot.py: bus.presence.status is computed — write only last_poll
  and last_presence; set last_poll 90s ahead when online so the bot
  stays green across the 60s cron cycle (DISCONNECTION_TIMER=30s)
- ir_cron.xml: reduce ping interval to 20s (uses Odoo 18 seconds type)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:42:35 -04:00

57 lines
1.3 KiB
YAML

version: "3.9"
services:
odoo-ai-web:
image: odoo:18
depends_on:
odoo-ai-db:
condition: service_healthy
environment:
- HOST=odoo-ai-db
- USER=odoo
- PASSWORD=${POSTGRES_PASSWORD}
volumes:
- ./odoo-ai-data:/var/lib/odoo
- ./odoo-ai-config:/etc/odoo
- ./addons:/mnt/extra-addons
ports: []
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.odoo-ai.rule=Host(`ai.activeblue.net`)"
- "traefik.http.routers.odoo-ai.entrypoints=websecure"
- "traefik.http.routers.odoo-ai.tls.certresolver=le"
- "traefik.http.services.odoo-ai.loadbalancer.server.port=8069"
networks:
- traefik-public
- odoo-ai-internal
- activeblue-net
odoo-ai-db:
image: postgres:15
environment:
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=ai
volumes:
- odoo-ai-db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U odoo -d ai"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- odoo-ai-internal
networks:
traefik-public:
external: true
odoo-ai-internal:
driver: bridge
activeblue-net:
external: true
volumes:
odoo-ai-db-data: