services: api: build: . restart: unless-stopped environment: DATABASE_URL: postgresql+psycopg://metabloom:${POSTGRES_PASSWORD}@db:5432/metabloom JWT_SECRET: ${JWT_SECRET} ENVIRONMENT: production ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost:8081} AI_BASE_URL: ${AI_BASE_URL:-http://ollama:11434/v1} AI_MODEL: ${AI_MODEL:-qwen2.5:1.5b} AI_API_KEY: ${AI_API_KEY:-} AI_TIMEOUT_SECONDS: ${AI_TIMEOUT_SECONDS:-90} depends_on: db: condition: service_healthy ports: ["127.0.0.1:8000:8000"] networks: [default, ai-company] db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: metabloom POSTGRES_USER: metabloom POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: ["postgres_data:/var/lib/postgresql/data"] healthcheck: test: ["CMD-SHELL", "pg_isready -U metabloom"] interval: 5s timeout: 3s retries: 10 volumes: postgres_data: networks: ai-company: external: true