name: resolutionflow services: db: image: pgvector/pgvector:pg16 container_name: resolutionflow_postgres environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: resolutionflow ports: - "${POSTGRES_PORT:-5432}:5432" volumes: - rf_postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 backend: build: context: ./backend dockerfile: Dockerfile.dev container_name: resolutionflow_backend ports: - "8000:8000" volumes: - ./backend:/app environment: - APP_NAME=ResolutionFlow - DEBUG=true - DATABASE_URL=postgresql+asyncpg://postgres:postgres@db:5432/resolutionflow - DATABASE_URL_SYNC=postgresql://postgres:postgres@db:5432/resolutionflow - SECRET_KEY=${SECRET_KEY} - ALGORITHM=HS256 - ACCESS_TOKEN_EXPIRE_MINUTES=15 - REFRESH_TOKEN_EXPIRE_DAYS=7 - FEEDBACK_EMAIL=feedback@resolutionflow.com - AI_PROVIDER=anthropic - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - GOOGLE_AI_API_KEY=${GOOGLE_AI_API_KEY} - CORS_ORIGINS=["http://localhost:3000","http://localhost:5173","http://127.0.0.1:3000","http://127.0.0.1:5173"] depends_on: db: condition: service_healthy frontend: build: context: ./frontend dockerfile: Dockerfile.dev container_name: resolutionflow_frontend ports: - "5173:5173" volumes: - ./frontend:/app - /app/node_modules environment: - VITE_API_URL=http://localhost:8000 depends_on: - backend volumes: rf_postgres_data: