BettaFish Docker & Self-Hosted Deployment

GitHub

微舆:人人可用的多Agent舆情分析助手,打破信息茧房,还原舆情原貌,预测未来走向,辅助决策!从0实现,不依赖任何框架。

RAW Compose
1. Pull Image (GHCR) docker pull ghcr.io/666ghj/bettafish
2. Docker Run (1-Click Launch) docker run -d --name bettafish -p 5000:5000 --restart always ghcr.io/666ghj/bettafish:latest
3. Podman Run podman run -d --name bettafish -p 5000:5000 --restart always ghcr.io/666ghj/bettafish:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://ghcr.io/666ghj/bettafish:latest
5. ORAS Pull (OCI Artifact) oras pull ghcr.io/666ghj/bettafish:latest
6. Compose Deployment docker compose up -d
docker-compose.yml
Download .yml
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