ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

WeKnora 部署实战:10分钟上线私有 RAG 知识库

2026/9/20 19:40:11 拓冰建站 浏览量
WeKnora 部署实战:10分钟上线私有 RAG 知识库 WeKnora 部署实战10分钟上线私有 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 在一台机器上把 WeKnora 部署起来从克隆代码到打开网页。只要 LLM 走 API云端或远程 Ollama顺利的话 10 分钟内搞定不需要本机装任何模型。先看看你的机器扛不扛得住这一节确认机器配置和 Docker 环境达标。WeKnora 本身只是应用层重头戏是文档解析和向量检索所以配置要求取决于你的模型跑在哪场景CPU内存磁盘本地开发LLM 走 API2 核8GB20GB生产环境4 核16GB100GB本机跑大模型Ollama8 核32GB100GB跑一条命令自检Docker 和 Compose 都能过就行# 一次看完 CPU、内存、磁盘和 Docker Compose 状态 nproc; free -h; df -h .; docker compose version 注意docker compose version报错通常是 Docker 没装或当前用户没加进 docker 组。最少的操作把它跑起来这一节用三条命令把核心服务拉起来全部在项目根目录执行。# 克隆代码仓库 git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora克隆完先改配置再启动# 复制环境变量模板文件内每个变量都有中文注释 cp .env.example .env编辑.env时重点看这几项其余保持默认变量默认值说明DB_PASSWORD示例占位必须改成你自己的强密码REDIS_PASSWORD示例占位同上STORAGE_TYPElocal文件存本地卷最省事有对象存储需求再换minio/s3RETRIEVE_DRIVERpostgres向量检索复用 ParadeDB 版 Postgres默认即可OLLAMA_BASE_URLhttp://host.docker.internal:11434指向你的 Ollama不用 Ollama 可忽略改完启动# 拉取镜像并后台启动核心服务 docker compose pull docker compose up -d启动后验证# 查看容器状态app 显示 healthy 才算就绪 docker compose ps打开浏览器访问http://localhost就是前端界面API 在http://localhost:8080。没配 Ollama 也不影响启动只是首次进入时要在系统设置里填 API 模型。仓库自带的 scripts/start_all.sh 也可以一键拉起还会顺带装/起 Ollama但手动docker compose更可控推荐上面这套。跑通了先搞清楚它在跑什么这一节把默认跑起来的 5 个容器对号入座容器作用宿主端口frontendWeb 界面Nginx80app主应用API 业务逻辑8080postgresParadeDB同时承担关系库和向量库不对外redis流处理与任务队列不对外docreader文档解析gRPC不对外仅容器网络内需要额外能力时用--profile按需叠加多个可组合# 例同时启用知识图谱(Neo4j)和对象存储(MinIO) docker compose --profile neo4j --profile minio pull docker compose --profile neo4j --profile minio up -d常用 profilefull全部功能、neo4j、minio、langfuse、searxng、qdrant、milvus完整清单见 README_CN.md 的可选服务Docker Compose Profile一节。想再快一点动这几个值部署跑通后最常见的痛点是文档解析慢、回答不够准。三个值按优先级动模型别将就。回答质量 90% 取决于 LLM在系统设置页配置一个能力强的模型API 或 Ollama 均可。调并发。WEKNORA_ASYNQ_CORE_CONCURRENCY默认 8控制文档解析主链路并发机器余量大就提到 16批量导入明显变快。日志降级。默认LOG_LEVELdebug很吵稳定后改成info配LOG_PATH落盘方便排查。改的是环境变量必须重建容器才生效# 重新加载 .env 并重建 app 容器 docker compose up -d app别急着上线先过一遍这个清单这一节处理暴露到公网前的必做项默认配置里不少密码还是占位符改掉DB_PASSWORD和REDIS_PASSWORD——.env里的示例值是公开占位上线前必须换成强密码设置SYSTEM_AES_KEY32 字节随机值—— 它用于数据库里 API Key 等敏感字段的加密丢了就解不开务必离线保管。生成方式openssl rand -hex 16⚠️设DISABLE_REGISTRATIONtrue—— 用户走管理员邀请而不是公开注册给前端挂 HTTPS —— 反代 nginx/caddy 终止证书即可确认备份方案可用 —— 数据都在 Docker 卷里数据库备份一条命令# 导出数据库用户名/库名按 .env 实际值替换 docker compose exec postgres pg_dump -U postgres -d WeKnora weknora_$(date %F).sql升级走同样的两步注意先pull再up否则会复用本地缓存的旧镜像# 升级拉取与 WEKNORA_VERSION 匹配的新镜像并重建 docker compose pull docker compose up -d日常巡检看两个东西就够了docker stats看资源占用docker compose logs -f app看报错。更多问题排查参考 docs/QA.md。卡住了大概率是这几个Q: 报 docker: command not foundA: 安装 Dockersudo apt-get install docker-ce docker-ce-cli containerd.io装完用docker compose version复查。Q: 报 permission denied 连不上 Docker daemonA: 把当前用户加进 docker 组sudo usermod -aG docker $USER然后重开终端再试。Q: 80 端口被占用前端起不来A: 在.env里把FRONTEND_PORT80改成别的如8088然后docker compose up -d重建。Q: app 容器反复重启A: 看日志定位docker compose logs -f app。多数情况是.env里数据库配置与 postgres 容器对不上检查DB_USER/DB_PASSWORD/DB_NAME三项。资源确认、三步启动、profile 按需叠加、调优、安全清单按这个顺序走下来WeKnora 就能从跑起来稳定过渡到长期跑。接下来自然就是往知识库里灌第一批文档然后开始提问。【免费下载链接】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),仅供参考