基于 docker compose 进行部署PandaWiki

官网:hhttps://github.com/chaitin/PandaWiki‘
安装地址:https://pandawiki.docs.baizhi.cloud/node/01971602-bb4e-7c90-99df-6d3c38cfd6d5
基于 docker compose 进行部署
mkdir /data/pandawiki
接下来,进入安装目录,下载 docker compose 编排文件。
cd /data/pandawiki
wget "https://release.baizhi.cloud/panda-wiki/docker-compose.yml"
或者直接使用
services:caddy:container_name: panda-wiki-caddyrestart: alwaysimage: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-caddy:2.10-alpinecap_add:- NET_ADMINvolumes:- ./data/caddy/caddy_config:/config- ./data/caddy/caddy_data:/data- ./data/caddy/run:/var/run/caddyenvironment:- CADDY_ADMIN=unix//var/run/caddy/caddy-admin.socknetwork_mode: hostnginx:container_name: panda-wiki-nginxdepends_on:- apirestart: alwaysimage: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-nginx:v3.28.5ports:- ${ADMIN_PORT}:8080volumes:- ./data/nginx/ssl:/etc/nginx/sslnetworks:panda-wiki:ipv4_address: "${SUBNET_PREFIX:-169.254.15}.111"app:container_name: panda-wiki-apprestart: alwaysimage: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-app:v3.28.5networks:panda-wiki:ipv4_address: "${SUBNET_PREFIX:-169.254.15}.112"api:container_name: panda-wiki-apidepends_on:- postgres- nats- caddy- ragliterestart: alwaysimage: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-api:v3.28.5volumes:- ./data/caddy/run:/app/run- ./data/nginx/ssl:/app/etc/nginx/ssl- ./data/conf/api:/dataenvironment:- 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-consumerdepends_on:- nats- apirestart: alwaysimage: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-consumer:v3.28.5environment:- 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-postgresimage: chaitin-registry.cn-hangzhou.cr.aliyuncs.com/chaitin/panda-wiki-postgres:17.5restart: alwayshealthcheck:test: ["CMD", "pg_isready", "-U", "panda-wiki", "-d", "panda-wiki"]interval: 10stimeout: 5sretries: 5start_period: 10senvironment:- POSTGRES_USER=panda-wiki- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}- POSTGRES_DB=panda-wikivolumes:- ./data/postgres:/var/lib/postgresql/datanetworks: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-alpinecontainer_name: panda-wiki-redisrestart: alwayscommand: ["redis-server", "--requirepass", "${REDIS_PASSWORD}", "--appendonly", "yes", "--appendfilename", "appendonly.aof", "--save", "900 1", "--save", "300 10", "--save", "60 10000"]volumes:- ./data/redis:/datanetworks: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-cpuv1container_name: panda-wiki-miniorestart: alwayscommand: ["minio", "server", "/data", "--console-address", ":9001"]volumes:- ./data/minio:/dataenvironment:- 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-alpinecontainer_name: panda-wiki-natsrestart: alwayscommand: ["nats-server", "-c", "/etc/nats/nats.conf", "--user", "panda-wiki", "--pass", "${NATS_PASSWORD}"]volumes:- ./data/nats:/datanetworks: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.1container_name: panda-wiki-qdrantrestart: alwaysvolumes:- ./data/qdrant:/qdrant/storageenvironment:- 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.7container_name: panda-wiki-crawlerrestart: alwaysinit: trueenvironment:- 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:9000networks: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-9container_name: panda-wiki-ragliterestart: alwaysvolumes:- ./data/raglite:/dataenvironment:- 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- qdrantnetworks:panda-wiki:ipv4_address: "${SUBNET_PREFIX:-169.254.15}.18"networks:panda-wiki:ipam:driver: defaultconfig:- subnet: "${SUBNET_PREFIX:-169.254.15}.0/24"
