version: "3.9" services: bettafish: image: ghcr.io/666ghj/bettafish:latest # Speed up mirror # image: ghcr.nju.edu.cn/666ghj/bettafish:latest container_name: bettafish restart: unless-stopped environment: - PYTHONUNBUFFERED=1 - STREAMLIT_SERVER_ENABLE_FILE_WATCHER=false ports: - "5000:5000" - "8501:8501" - "8502:8502" - "8503:8503" volumes: - ./logs:/app/logs - ./final_reports:/app/final_reports - ./.env:/app/.env - ./insight_engine_streamlit_reports:/app/insight_engine_streamlit_reports - ./media_engine_streamlit_reports:/app/media_engine_streamlit_reports - ./query_engine_streamlit_reports:/app/query_engine_streamlit_reports db: image: postgres:15 container_name: bettafish-db restart: unless-stopped env_file: - .env environment: # Postgres 官方镜像只识别 POSTGRES_* 用于初始化; # 而本项目的应用侧读取 DB_*(见 .env)。这里做一次映射,确保两边一致。 POSTGRES_USER: ${DB_USER:-${POSTGRES_USER:-bettafish}} POSTGRES_PASSWORD: ${DB_PASSWORD:-${POSTGRES_PASSWORD:-bettafish}} POSTGRES_DB: ${DB_NAME:-${POSTGRES_DB:-bettafish}} ports: - "${POSTGRES_PORT:-5444}:5432" volumes: - ./db_data:/var/lib/postgresql/data