services: migrate: build: context: . dockerfile: Dockerfile target: migrator environment: DATABASE_URL: postgresql://evidence:evidence@postgres:5432/evidence_please depends_on: postgres: condition: service_healthy restart: on-failure app: build: context: . dockerfile: Dockerfile ports: - "3000:3000" environment: DATABASE_URL: postgresql://evidence:evidence@postgres:5432/evidence_please REDIS_URL: redis://redis:6379 OLLAMA_BASE_URL: http://ollama:11434 OLLAMA_MODEL: gemma4:4b MODEL_PROVIDER: ${MODEL_PROVIDER:-mock} UPLOAD_DIR: /app/uploads NEXT_PUBLIC_APP_URL: http://localhost:3000 volumes: - uploads:/app/uploads depends_on: migrate: condition: service_completed_successfully redis: condition: service_started restart: unless-stopped postgres: image: postgres:16-alpine environment: POSTGRES_USER: evidence POSTGRES_PASSWORD: evidence POSTGRES_DB: evidence_please ports: - "5433:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U evidence -d evidence_please"] interval: 5s timeout: 5s retries: 5 redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redisdata:/data ollama: image: ollama/ollama:latest ports: - "11434:11434" volumes: - ollama_models:/root/.ollama deploy: resources: reservations: memory: 8G volumes: pgdata: redisdata: uploads: ollama_models: