version: '3.8' services: postgres: image: ankane/pgvector:latest container_name: exegese-postgres environment: POSTGRES_USER: exegese POSTGRES_PASSWORD: exegese360 POSTGRES_DB: exegese_db ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U exegese -d exegese_db"] interval: 5s timeout: 5s retries: 5 redis: image: redis:7-alpine container_name: exegese-redis ports: - "6379:6379" volumes: - redis_data:/data command: redis-server --appendonly yes healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 5 python-dev: build: context: . dockerfile: Dockerfile.dev container_name: exegese-python environment: - DATABASE_URL=postgresql+psycopg2://exegese:exegese360@postgres:5432/exegese_db - REDIS_URL=redis://redis:6379/0 - GROQ_API_KEY=${GROQ_API_KEY} - TAVILY_API_KEY=${TAVILY_API_KEY} volumes: - .:/workspace - /workspace/.venv working_dir: /workspace command: sleep infinity depends_on: postgres: condition: service_healthy redis: condition: service_healthy stdin_open: true tty: true volumes: postgres_data: redis_data: