version: '3.8' services: # Development version with hot reload chat-agent-dev: build: context: . dockerfile: Dockerfile.dev ports: - "7860:7860" environment: - FLASK_ENV=development - FLASK_DEBUG=True - DATABASE_URL=postgresql://chatuser:chatpass@postgres:5432/chat_agent_dev - REDIS_URL=redis://redis:6379/0 depends_on: postgres: condition: service_healthy redis: condition: service_healthy volumes: - .:/app - /app/__pycache__ - ./logs:/app/logs restart: unless-stopped networks: - chat-network # PostgreSQL database for development postgres: image: postgres:15-alpine environment: POSTGRES_DB: chat_agent_dev POSTGRES_USER: chatuser POSTGRES_PASSWORD: chatpass volumes: - postgres_dev_data:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U chatuser -d chat_agent_dev"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped networks: - chat-network # Redis for development redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_dev_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped networks: - chat-network volumes: postgres_dev_data: redis_dev_data: networks: chat-network: driver: bridge