Files
cannaiq/docker-compose.yml
Kelly b4a2fb7d03 feat: Add v2 architecture with multi-state support and orchestrator services
Major additions:
- Multi-state expansion: states table, StateSelector, NationalDashboard, StateHeatmap, CrossStateCompare
- Orchestrator services: trace service, error taxonomy, retry manager, proxy rotator
- Discovery system: dutchie discovery service, geo validation, city seeding scripts
- Analytics infrastructure: analytics v2 routes, brand/pricing/stores intelligence pages
- Local development: setup-local.sh starts all 5 services (postgres, backend, cannaiq, findadispo, findagram)
- Migrations 037-056: crawler profiles, states, analytics indexes, worker metadata

Frontend pages added:
- Discovery, ChainsDashboard, IntelligenceBrands, IntelligencePricing, IntelligenceStores
- StateHeatmap, CrossStateCompare, SyncInfoPanel

Components added:
- StateSelector, OrchestratorTraceModal, WorkflowStepper

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 11:30:57 -07:00

87 lines
2.1 KiB
YAML
Executable File

services:
postgres:
image: postgres:15-alpine
container_name: cannaiq-postgres
environment:
POSTGRES_DB: dutchie_legacy
POSTGRES_USER: dutchie
POSTGRES_PASSWORD: dutchie_local_pass
ports:
- "54320:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dutchie"]
interval: 10s
timeout: 5s
retries: 5
minio:
image: minio/minio:latest
container_name: dutchie-minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
ports:
- "9020:9000"
- "9021:9001"
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 10s
timeout: 5s
retries: 5
backend:
build:
context: ./backend
dockerfile: Dockerfile.dev
container_name: cannaiq-backend
environment:
NODE_ENV: development
PORT: 3000
# Canonical CannaiQ database connection (NOT DATABASE_URL)
CANNAIQ_DB_URL: "postgresql://dutchie:dutchie_local_pass@postgres:5432/dutchie_legacy"
MINIO_ENDPOINT: minio
MINIO_PORT: 9000
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
MINIO_BUCKET: dutchie
MINIO_USE_SSL: "false"
JWT_SECRET: local_dev_jwt_secret_change_in_production
ADMIN_EMAIL: admin@example.com
ADMIN_PASSWORD: password
ports:
- "3010:3000"
volumes:
- ./backend:/app
- /app/node_modules
depends_on:
postgres:
condition: service_healthy
minio:
condition: service_healthy
command: npm run dev
frontend:
build:
context: ./frontend
dockerfile: Dockerfile.dev
container_name: dutchie-frontend
environment:
VITE_API_URL: "http://localhost:3010"
ports:
- "5180:5173"
volumes:
- ./frontend:/app
- /app/node_modules
depends_on:
- backend
command: npm run dev
volumes:
postgres_data:
minio_data: