基于 docker compose 进行部署PandaWiki

官网:hhttps://github.com/chaitin/PandaWiki'

安装地址:https://pandawiki.docs.baizhi.cloud/node/01971602-bb4e-7c90-99df-6d3c38cfd6d5

基于 docker compose 进行部署

bash 复制代码
mkdir /data/pandawiki

接下来,进入安装目录,下载 docker compose 编排文件。

bash 复制代码
cd /data/pandawiki
wget "https://release.baizhi.cloud/panda-wiki/docker-compose.yml"

或者直接使用

bash 复制代码
services:
  caddy:
    container_name: panda-wiki-caddy
    restart: always
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-caddy:2.10-alpine
    cap_add:
      - NET_ADMIN
    volumes:
      - ./data/caddy/caddy_config:/config
      - ./data/caddy/caddy_data:/data
      - ./data/caddy/run:/var/run/caddy
    environment:
      - CADDY_ADMIN=unix//var/run/caddy/caddy-admin.sock
    network_mode: host
  nginx:
    container_name: panda-wiki-nginx
    depends_on:
      - api
    restart: always
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-nginx:v3.28.5
    ports:
      - ${ADMIN_PORT}:8080
    volumes:
      - ./data/nginx/ssl:/etc/nginx/ssl
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.111"
  app:
    container_name: panda-wiki-app
    restart: always
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-app:v3.28.5
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.112"
  api:
    container_name: panda-wiki-api
    depends_on:
      - postgres
      - nats
      - caddy
      - raglite
    restart: always
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-api:v3.28.5
    volumes:
      - ./data/caddy/run:/app/run
      - ./data/nginx/ssl:/app/etc/nginx/ssl
      - ./data/conf/api:/data
    environment:
      - NATS_PASSWORD=${NATS_PASSWORD}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - REDIS_PASSWORD=${REDIS_PASSWORD}
      - S3_SECRET_KEY=${S3_SECRET_KEY}
      - JWT_SECRET=${JWT_SECRET}
      - ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - SUBNET_PREFIX=${SUBNET_PREFIX}
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.2"
  consumer:
    container_name: panda-wiki-consumer
    depends_on:
      - nats
      - api
    restart: always
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-consumer:v3.28.5
    environment:
      - NATS_PASSWORD=${NATS_PASSWORD}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - REDIS_PASSWORD=${REDIS_PASSWORD}
      - S3_SECRET_KEY=${S3_SECRET_KEY}
      - JWT_SECRET=${JWT_SECRET}
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.3"
  postgres:
    container_name: panda-wiki-postgres
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-postgres:17.5
    restart: always
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "panda-wiki", "-d", "panda-wiki"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s
    environment:
      - POSTGRES_USER=panda-wiki
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=panda-wiki
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.10"
  redis:
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-redis:7.4.2-alpine
    container_name: panda-wiki-redis
    restart: always
    command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}", "--appendonly", "yes", "--appendfilename", "appendonly.aof", "--save", "900 1", "--save", "300 10", "--save", "60 10000"]
    volumes:
      - ./data/redis:/data
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.11"
  minio:
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-minio:RELEASE.2025-04-22T22-12-26Z-cpuv1
    container_name: panda-wiki-minio
    restart: always
    command: ["minio", "server", "/data", "--console-address", ":9001"]
    volumes:
      - ./data/minio:/data
    environment:
      - MINIO_ACCESS_KEY=s3panda-wiki
      - MINIO_SECRET_KEY=${S3_SECRET_KEY}
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.12"
  nats:
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-nats:2.11.3-alpine
    container_name: panda-wiki-nats
    restart: always
    command: ["nats-server", "-c", "/etc/nats/nats.conf", "--user", "panda-wiki", "--pass", "${NATS_PASSWORD}"]
    volumes:
      - ./data/nats:/data
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.13"
  qdrant:
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-qdrant:v1.14.1
    container_name: panda-wiki-qdrant
    restart: always
    volumes:
      - ./data/qdrant:/qdrant/storage
    environment:
      - QDRANT__SERVICE__API_KEY=${QDRANT_API_KEY}
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.14"
  crawler:
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/anydoc:v0.5.7
    container_name: panda-wiki-crawler
    restart: always
    init: true
    environment:
      - GLOG_GLOBAL_LEVEL=info
      - NAMESPACE=anydoc
      - MQ_NATS_URL=nats://panda-wiki-nats:4222
      - MQ_NATS_USER=panda-wiki
      - MQ_NATS_PASSWORD=${NATS_PASSWORD}
      - OSS_MINIO_ACCESS_KEY=s3panda-wiki
      - OSS_MINIO_SECRET_KEY=${S3_SECRET_KEY}
      - OSS_MINIO_ENDPOINT=panda-wiki-minio:9000
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.17"
  raglite:
    image: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-raglite:1-3-9
    container_name: panda-wiki-raglite
    restart: always
    volumes:
      - ./data/raglite:/data
    environment:
      - GIN_MODE=release
      - DATABASE_HOST=panda-wiki-postgres
      - DATABASE_USER=panda-wiki
      - DATABASE_PASSWORD=${POSTGRES_PASSWORD}
      - MINIO_HOST=panda-wiki-minio:9000
      - MINIO_USER=s3panda-wiki
      - MINIO_PASSWORD=${S3_SECRET_KEY}
      - QDRANT_HOST=panda-wiki-qdrant
      - QDRANT_API_KEY=${QDRANT_API_KEY}
    depends_on:
      - postgres
      - minio
      - qdrant
    networks:
      panda-wiki:
        ipv4_address: "${SUBNET_PREFIX:-169.254.15}.18"

networks:
  panda-wiki:
    ipam:
      driver: default
      config:
        - subnet: "${SUBNET_PREFIX:-169.254.15}.0/24"

接入AI模型 https://pandawiki.docs.baizhi.cloud/node/01971616-811c-70e1-82d9-706a202b8498

相关推荐
代码方舟2 分钟前
O2O二手车交易平台B端车商管理后台:基于天远车信盟出险构建自动化车况评估网关
java·运维·人工智能·自动化
数智启示录13 分钟前
PostgreSQL 内存调优实战(第 12 篇):work_mem 只调大 64 倍,峰值为什么远不止 64 倍
运维·数据库·经验分享·postgresql·面试
一个向上的运维者23 分钟前
Kubernetes 网络三部曲:CNI、kube-proxy 与 CoreDNS 是如何协作的?
网络·容器·kubernetes
云登指纹浏览器29 分钟前
RPA 与指纹浏览器集成:多账号自动化运营的5项环境配置
运维·自动化·rpa
wtblszn43 分钟前
城市内河在线监测系统方案
运维·物联网
DolitD1 小时前
实时云渲染多应用并发:CELL容器技术突破3D隔离瓶颈
云原生·容器·实时互动·图形渲染·数据可视化
鹤落晴春1 小时前
【K8s】Kustomize管理
云原生·容器·kubernetes
Le_ee1 小时前
科来流量分析/结合MCP自动化
运维·自动化
发光的沙子2 小时前
嵌入式系统架构师----Ubuntu如何安装不在列表内的软件?
linux·运维·ubuntu
C+ 安口木2 小时前
Alibaba Cloud Linux 3 服务器环境搭建实战记录
linux·运维·服务器