version: '3.8' services: db: image: postgres:16-alpine container_name: leadradar-db restart: always environment: POSTGRES_DB: leadradar_db POSTGRES_USER: leadradar_user POSTGRES_PASSWORD: leadradar_pass_2026 ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U leadradar_user -d leadradar_db"] interval: 5s timeout: 5s retries: 5 backend: build: context: ./backend dockerfile: Dockerfile container_name: leadradar-api restart: always ports: - "5000:5000" environment: - FLASK_ENV=production - SECRET_KEY=leadradar-production-secret-key-32-bytes-long - JWT_SECRET_KEY=leadradar-jwt-production-secret-key-32-bytes - DATABASE_URL=postgresql://leadradar_user:leadradar_pass_2026@db:5432/leadradar_db - PLAYWRIGHT_HEADLESS=true - N8N_WEBHOOK_SECRET=n8n-leadradar-secret-token depends_on: db: condition: service_healthy frontend: build: context: ./frontend dockerfile: Dockerfile container_name: leadradar-ui restart: always ports: - "8501:8501" environment: - BACKEND_URL=http://backend:5000 depends_on: - backend volumes: postgres_data: