news 2026/9/6 22:32:11

从零用 Docker 部署 WeKnora 开源知识库的完整指南:5 步快速上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零用 Docker 部署 WeKnora 开源知识库的完整指南:5 步快速上手

从零用 Docker 部署 WeKnora 开源知识库的完整指南:5 步快速上手

【免费下载链接】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

WeKnora 是一个开源的 LLM 知识平台,能把 PDF、Word、网页等原始文档变成可问答的 RAG 知识库、可自主推理的 Agent 和自动维护的 Wiki。本文带你完成 WeKnora 的 Docker 部署:从环境自检到一键启动,再到生产优化要点,全程只需敲 4 条命令。

读完本文你会得到:一张环境需求表、一条最短部署路径、一份「真正要改的配置」清单,以及生产环境的安全与性能要点。

环境准备:部署前花 2 分钟确认

本章给你一张硬件需求表和几个自检动作,避免装到一半卡在资源不足。

需求表

配置项最低要求说明
CPU2 核文档解析和 embedding 是 CPU 密集操作,4 核更从容
内存4GB解析大 PDF、扫描件时占用明显,8GB 更稳
磁盘20GB 空闲镜像 + 数据库 + 文档文件都会持续占用
Docker已安装且服务运行需要 Docker Compose(docker composedocker-compose
网络可拉取镜像离线环境可提前导入镜像,启动时用--no-pull

环境自检

启动前确认三件事即可:执行docker info确认 Docker 服务在运行;执行nprocfree -h确认 CPU 与内存满足上表;确认 80、8080 端口未被占用(可用netstat -tulpn | grep -E ':80|:8080')。仓库自带./scripts/start_all.sh -c也能做一次完整环境检查,包括 Ollama 和磁盘空间。

快速上手:5 步启动 WeKnora

本章是最小组装路径,先克隆、再配置、最后启动,每步都有验证点。

第 1 步:克隆仓库

git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora

第 2 步:准备环境变量

cp .env.example .env

.env.example里每个变量都有中文注释,直接复制后按需修改。核心服务用默认值就能跑起来,真正必填的只有数据库账号密码和模型配置(详见后文「关键配置」)。

第 3 步:拉取镜像

docker compose pull

第 4 步:启动核心服务

docker compose up -d

启动后执行docker compose ps,应看到 frontend、app、docreader、postgres、redis 五个容器全部 healthy。仓库也提供一键脚本./scripts/start_all.sh,它会顺带检查并拉起本地 Ollama,适合完全不想手动操作的场景。

第 5 步:打开界面完成初始化

浏览器访问http://localhost,注册第一个账号,然后在「设置 → 模型」里配置对话模型(LLM)和向量模型(Embedding),支持 OpenAI、DeepSeek、Qwen、Ollama 等 20+ 提供商。配置完上传第一篇文档,就能在问答界面检索你的知识库了。

看懂内部:5 个核心容器如何协同

本章讲清端口、依赖和数据流向,出问题时你能定位到具体是哪个组件。

组件职责一览

组件端口职责依赖
frontend80Nginx 托管前端静态资源,并把/api反向代理到 appapp
app8080Go 主服务:API、RAG 流水线、Agent、任务队列postgres、redis、docreader
docreader50051(gRPC,不映射到宿主机)文档解析:PDF、Word、Excel、网页等 10+ 格式
postgres5432(仅容器网络)ParadeDB 镜像:主数据库 + pgvector 向量检索
redis6379(仅容器网络)任务队列与流处理

启动顺序由 compose 的健康检查保证:postgres 和 docreader 先就绪,app 才启动,frontend 最后等 app 变 healthy 才放行。

数据流向

一次「上传并问答」的完整链路是:文档经 frontend 传给 app;app 调 docreader 解析成文本块,做 embedding 后写入 postgres;提问时 app 在 postgres 里做向量+关键词混合检索,把命中的片段连同问题一起交给外部 LLM 生成带引用的回答。异步任务(解析、摘要、图谱抽取)全部走 redis 队列,由 app 内的工作池消费。

可选组件(按需开启 Profile)

核心服务之外,其余组件都放在 Docker Compose Profile 里,需要时加参数启动:neo4j(知识图谱,7474/7687)、minio(对象存储,9000/9001)、qdrant/milvus(替换向量库)、searxng(自建网页搜索,8888)、langfuse(链路追踪,3000)、mcp(MCP Server,8082)。多个可组合:docker compose --profile neo4j --profile minio up -d。完整特性可一步到位:--profile full

关键配置:只有这几项真正需要改

本章列出 .env.example 中建议你动手改的字段,其余保持默认即可。

# ---- 数据库(默认值可直接用,多用户共享部署建议改密码)---- DB_USER=postgres # 默认 postgres DB_PASSWORD=postgres123!@# # 默认值,生产必改 DB_NAME=WeKnora # 默认 WeKnora # ---- Redis(默认密码)---- REDIS_PASSWORD=redis123!@# # 生产必改 # ---- 存储与向量库(默认本地磁盘 + postgres 向量)---- STORAGE_TYPE=local # 可选 minio/s3/cos/oss 等 RETRIEVE_DRIVER=postgres # 可选 qdrant/milvus/opensearch 等 # ---- 模型服务(用本地 Ollama 时保持默认即可)---- OLLAMA_BASE_URL=http://host.docker.internal:11434 OLLAMA_OPTIONAL=true # Ollama 不可用时只告警不阻断 # ---- 安全密钥(生产必改)---- JWT_SECRET=weknora-jwt-secret # 留空则启动时随机生成 SYSTEM_AES_KEY=weknora-system-aes-key-32bytes!! # 必须 32 字节, # 丢失则库内加密的 API Key 全部不可恢复 # ---- 注册开关(生产建议关闭公开注册)---- DISABLE_REGISTRATION=false # 默认 false,生产建议 true

两点提醒:

  • SYSTEM_AES_KEY是 AES-256 主密钥,用于加密数据库里所有 API Key 和模型凭证,生产环境必须显式设置并妥善备份,丢失意味着已加密字段全部作废。
  • 模型(对话/向量/Rerank)默认在界面里配置而不是.env,启动后到「设置」页填写即可,无需改代码。

生产与优化:安全清单和性能旋钮

本章分安全、性能两小节,用清单过一遍即可。

安全清单

  • 修改所有默认密码:DB_PASSWORDREDIS_PASSWORD、MinIO 账号(若启用)。
  • 重新生成JWT_SECRET和 32 字节的SYSTEM_AES_KEY,并备份到密钥管理工具。
  • 设置DISABLE_REGISTRATION=true,新成员走管理员邀请。
  • 部署在内外网隔离环境,不要直接暴露公网;必须对外时加 HTTPS 反向代理并收紧防火墙规则。
  • 确认GIN_MODE=release(默认即生产模式,禁用 Swagger 文档)。
  • 为容器设置 CPU/内存限制,配置日志轮转,避免日志撑满磁盘。
  • 定期升级镜像版本,跟随官方安全补丁(升级方式:.env中设WEKNORA_VERSION后重新docker compose pull && docker compose up -d)。

性能要点

  • 解析吞吐:大批量 PDF 时调大DOCREADER_PDF_RENDER_PARALLELISM(渲染并行进程数)和DOCREADER_ODL_MAX_WORKERS,CPU 富余时收益明显。
  • 任务并发:Asynq 工作池默认核心并发 8、富化并发 12,可在.envWEKNORA_ASYNQ_*_CONCURRENCY调整,也能在系统设置页运行时热调,无需重启。
  • Embedding 限流:调用远程模型出现 429 时调小CONCURRENCY_POOL_SIZE(默认 5)。
  • 向量库选型:知识库超过百万级 chunk 时,可切换RETRIEVE_DRIVER到 Qdrant/Milvus/OpenSearch,或保留默认 postgres 的 HNSW 索引(对 1024 维向量有加速)。
  • 资源监控docker stats看容器水位;任务积压、失败重试可在前端「系统管理 → 运行时队列」面板查看,这是生产排障最有用的入口。

收尾:场景速查表

场景建议做法
本地体验核心五容器docker compose up -d即可,模型用 Ollama 或任意云端 API
开启知识图谱docker compose --profile neo4j up -d,并在.envNEO4J_ENABLE=true(构建阶段会调用大模型,耗时较长)
启用对象存储docker compose --profile minio up -d.envSTORAGE_TYPE=minio并配置 endpoint/桶名
链路追踪接入 Langfuse Cloud(填两把 key 即可)或--profile langfuse自建
离线环境有网机器docker compose pull后导出镜像,离线机器导入后用./scripts/start_all.sh --no-pull启动
开发改代码用 docker-compose.dev.yml 只起基础设施,前后端本地跑:make dev-start && make dev-app && make dev-frontend

遇到问题优先看 docs/QA.md 的官方 FAQ 和 docs/ 目录下的专题文档(如 docs/开发指南.md),覆盖模型配置、图片失效、端口冲突等高频坑。部署完成后,建议从一篇你最常查的文档开始建库,先跑通「上传 → 解析 → 问答」闭环,再逐步叠加图谱、Agent 和 IM 渠道等能力。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 22:27:36

STM32空气质量监测系统实战:从传感器选型到数据校准

简介:一份基于STM32的空气质量监测系统完整设计文档,共1个PDF文件,大小41.36MB,目前已有84人学习。内容以项目开发全流程为主线,从需求分析与方案设计入手,完整覆盖STM32F103RCT6主控与SHT30温湿度、PM2.5粉…

作者头像 李华
网站建设 2026/9/6 22:25:32

改进YOLOv8s用于桥梁裂缝检测:DSC注意力+P2小目标层+轻量化部署

简介:面向桥梁结构健康监测与计算机视觉研究人员的一份技术文档,聚焦改进YOLOv8s算法在桥梁裂缝检测中的应用及轻量化设计。文档从传统人工巡检痛点切入,系统梳理YOLOv8s网络架构、单阶段检测原理,并重点展开网络结构优化、损失函…

作者头像 李华
网站建设 2026/9/6 22:22:43

SDS2000X超级荧光示波器实战指南:从参数原理到测量排障

简介:SDS2000X系列超级荧光示波器数据手册,面向电子测试测量工程师、硬件研发与调试人员,系统梳理该系列示波器的核心性能与使用价值。手册首先介绍300MHz最大带宽、2GSa/s实时采样率以及新一代SPO技术带来的500,000帧/秒波形捕获率&#xff…

作者头像 李华
网站建设 2026/9/6 22:18:16

煤质化验实操评分标准全解析:从称量、灰分到数据修约的规范要点

简介:煤质化验工实际操作及评分标准PDF,是一份面向煤质化验岗位人员、技能培训与考核评分的规范性资料,围绕国家标准GB/T212-2008中煤样工业分析项目(挥发分测定)展开,系统梳理从设备准备、称量操作、现场操…

作者头像 李华
网站建设 2026/9/6 22:16:16

Claude Code GUI Claudia:CLAUDE.md 编辑器与项目扫描机制完整解析

Claude Code GUI Claudia:CLAUDE.md 编辑器与项目扫描机制完整解析 【免费下载链接】opcode A powerful GUI app and Toolkit for Claude Code - Create custom agents, manage interactive Claude Code sessions, run secure background agents, and more. 项目地址: https:…

作者头像 李华