version: "3.9" services: app: build: context: . dockerfile: Dockerfile container_name: para_ai_app depends_on: - db environment: APP_ENV: ${APP_ENV:-dev} DEBUG: ${DEBUG:-true} LOG_LEVEL: ${LOG_LEVEL:-INFO} DATABASE_URL: ${DATABASE_URL:-postgresql://para_ai:para_ai@db:5432/para_ai} FILES_BASE_PATH: ${FILES_BASE_PATH:-/app/data/files} GROQ_API_KEY: ${GROQ_API_KEY:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} volumes: - .:/app - para_ai_files:/app/data ports: - "8000:8000" working_dir: /app command: > uvicorn main:app --host 0.0.0.0 --port 8000 --reload db: image: postgres:16 container_name: para_ai_db environment: POSTGRES_USER: ${POSTGRES_USER:-para_ai} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-para_ai} POSTGRES_DB: ${POSTGRES_DB:-para_ai} volumes: - para_ai_db_data:/var/lib/postgresql/data - ./database/init_db.sql:/docker-entrypoint-initdb.d/00_init_db.sql:ro ports: - "5432:5432" volumes: para_ai_db_data: para_ai_files: