WeKnora Docker 部署实战:5 条命令搭好私有 RAG 知识库

发布时间:2026/9/20 18:37:28
WeKnora Docker 部署实战:5 条命令搭好私有 RAG 知识库 WeKnora Docker 部署实战5 条命令搭好私有 RAG 知识库【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnoraWeKnora 是开源 LLM 知识平台把原始文档变成可检索的 RAG 知识库、推理 Agent 和自动维护的 Wiki。本文用 Docker Compose 在一台机器上把它拉起来先讲清部署前你必须自己拍板的配置项再给出启动命令、验收标准和上线加固清单从克隆代码到在 Web 界面问出第一个问题。动手前先想清楚 3 个问题问题 1机器余量够不够WeKnora 的计算大头是文档解析和向量检索LLM 本身可以走 API 不占本机资源。最低门槛是装好 Docker 和 Git组件要求备注Docker Docker ComposeCompose v2核心服务共 5 个容器Git任意稳定版仅用于拉代码内存建议值8GB 起LLM 走 API 时够用本机跑 Ollama 另算模型体积磁盘20GB 起系统镜像 数据卷问题 2模型从哪来二选一本机 Ollama.env里OLLAMA_BASE_URL默认指向http://host.docker.internal:11434或云端 API。没配 Ollama 也不影响启动只是首次进入后要在系统设置页填模型。问题 3数据放哪默认STORAGE_TYPElocal文件落在 Docker 卷里最省事有对象存储需求再换minio/s3。向量检索默认复用 ParadeDB 版 Postgres不额外占资源。最后跑一条命令自检Docker、Compose、硬件一次看全# 核对 CPU、内存、磁盘和 Docker/Compose 状态 nproc free -h df -h . docker compose version部署主链路配置 .env 然后拉起服务先拍板必须人工决策的配置项打开.env前下面这几项需要你确认其余保持默认即可变量默认值说明DB_PASSWORDpostgres123!#占位符Postgres 账号密码必须改成强密码REDIS_PASSWORDredis123!#占位符Redis 密码同上SYSTEM_AES_KEYweknora-system-aes-key-32bytes!!32 字节 AES 主密钥用于加密库里 API Key 等敏感字段丢了就解不开建议openssl rand -hex 16生成并离线保管JWT_SECRETweknora-jwt-secretJWT 签名密钥占位符必须改STORAGE_TYPElocal文件存本地卷有对象存储需求再换minio/s3RETRIEVE_DRIVERpostgres向量检索复用 ParadeDB 版 Postgres默认即可OLLAMA_BASE_URLhttp://host.docker.internal:11434本机 Ollama 入口不用 Ollama 走云端 API此项可不动FRONTEND_PORT8080 端口被占用就改成8088之类 其余变量完整清单以仓库 .env.example 为准文件内每个变量都有中文注释。然后按顺序执行命令# 克隆代码并进入项目根目录 git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora# 复制环境变量模板记得按上表改掉占位值 cp .env.example .env# 拉取核心服务镜像 docker compose pull# 后台启动核心五件套frontend / app / postgres / redis / docreader docker compose up -d仓库还备了一键脚本 scripts/start_all.sh会顺带安装并拉起 Ollama想完全掌控每一步的话用上面这套手动命令更稳。验收怎么判断服务起来了验收标准是三条全过才算就绪# 看容器状态5 个容器 Upapp 显示 (healthy) 才算通过健康检查 docker compose ps# 健康检查接口应返回 {status:ok} curl http://localhost:8080/health打开浏览器访问http://localhost看到注册/登录页就通了后端 API 在http://localhost:8080。本机用 Ollama 的话记得先ollama serve再ollama pull一个模型。注册、填模型、上传文档、提问的完整路径参考 docs/QA.md。常见失败现象与定位思路Q: 报docker: command not foundA: Docker 没装。装完后用docker compose version复查。Q: 连不上 Docker daemon报permission deniedA: 用户不在 docker 组sudo usermod -aG docker $USER然后重开终端。Q: 80 端口被占用frontend 起不来 A: 在.env里改FRONTEND_PORT8088或其他空闲端口再执行docker compose up -d重建。Q: app 容器反复重启 A:docker compose logs -f app看日志。多数是.env里DB_USER/DB_PASSWORD/DB_NAME与 postgres 容器对不上——postgres 用同一套变量初始化改过后必须docker compose down再up -d否则旧库密码不匹配。按需扩展用 profile 叠加可选服务核心五件套跑稳后其余组件都挂--profile按需组合。常用 profile 及作用、端口Profile作用对外端口neo4j知识图谱需同时在.env设NEO4J_ENABLEtrue7474Web、7687boltminio对象存储配合STORAGE_TYPEminio9000S3、9001控制台searxng自建网页搜索8888默认只绑 127.0.0.1langfuse链路追踪3000qdrant备选向量库RETRIEVE_DRIVERqdrant6333、6334milvus备选向量库19530、9091full以上全部一次拉起见上叠加启用示例# 同时启用知识图谱(Neo4j)和对象存储(MinIO) docker compose --profile neo4j --profile minio pull docker compose --profile neo4j --profile minio up -d完整 profile 清单见 README_CN.md 的可选服务一节知识图谱配置细节看 docs/KnowledgeGraph.md。性能与体验按收益排序的 3 个调优点回答质量平庸 → 换更强的模型。质量 90% 取决于 LLM。在系统设置页配一个能力强的模型云端 API 或 Ollama 均可.env里GIN_MODE保持release不用动。这是收益最大的一项。批量导入文档慢 → 调解析并发。WEKNORA_ASYNQ_CORE_CONCURRENCY默认 8控制文档解析主链路并发机器余量大就提到 16。WEKNORA_MODEL_MAX_CONCURRENCY默认 32是每模型后台并发上限一般不动。日志太吵 → 降级到 info。LOG_LEVEL默认debug稳定后改infoLOG_PATH留空只打 stdout给它一个路径就能落盘。⚠️ 以上都是环境变量改完.env必须重建容器才生效# 重新加载 .env 并重建 app 容器 docker compose up -d app上线加固安全清单与备份升级命令暴露到公网前逐项过一遍改掉DB_PASSWORD、REDIS_PASSWORD占位符生成并保管SYSTEM_AES_KEYopenssl rand -hex 16——丢失后库里所有加密字段不可恢复设置新的JWT_SECRETDISABLE_REGISTRATIONtrue用户走管理员邀请而非公开注册前端挂 HTTPS反代 nginx/caddy 终止证书启用了 neo4j / searxng 的同步改NEO4J_PASSWORD、SEARXNG_SECRET日常备份一条命令# 导出主数据库用户名/库名按 .env 实际值替换 docker compose exec postgres pg_dump -U postgres -d WeKnora weknora_$(date %F).sql升级走两步顺序不能反# 把 .env 的 WEKNORA_VERSION 设为目标版本后先拉新镜像再重建跳过 pull 会复用旧缓存镜像 docker compose pull docker compose up -d收尾至此机器自检、.env拍板、命令启动、验收、扩展、加固这条链路就走完了。下一步打开 Web 界面把模型配好往知识库灌第一批文档——然后就可以开始提问了。【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考