| version: '3.8' | |
| services: | |
| webai-worker: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| environment: | |
| - DATABASE_URL=${DATABASE_URL} | |
| - NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL} | |
| - SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY} | |
| - SUPABASE_STORAGE_BUCKET=${SUPABASE_STORAGE_BUCKET} | |
| - PORT=7860 | |
| ports: | |
| - "7860:7860" | |
| volumes: | |
| - ./logs:/app/logs | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:7860/health"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 40s | |
| # Optional: PostgreSQL for local testing | |
| postgres: | |
| image: postgres:15-alpine | |
| environment: | |
| - POSTGRES_DB=tenderhub_test | |
| - POSTGRES_USER=test_user | |
| - POSTGRES_PASSWORD=test_password | |
| ports: | |
| - "5432:5432" | |
| volumes: | |
| - postgres_data:/var/lib/postgresql/data | |
| - ./migrate.sql:/docker-entrypoint-initdb.d/migrate.sql | |
| profiles: | |
| - testing | |
| volumes: | |
| postgres_data: | |