WeKnora Docker 部署完整指南五步跑稳生产知识库【免费下载链接】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。本文按核对配置 → 一键启动 → 组件分工 → 场景化配置 → 稳定上线的顺序带你完成一次 WeKnora Docker 部署并覆盖本地部署后的生产环境配置与常见问题处理。最低配置自检部署前先核对这一张表先对硬件再对软件。两条都不满足时容器起来也会卡。资源底线生产建议为什么是这个数CPU2 核48 核文档解析与向量化是重计算核心少时入库速度直接腰斩内存4 GB8 GB 起嵌入与索引需要持续驻留内存低于 4 GB 容易 OOM 重启磁盘30 GB 空闲50 GB 起镜像 文档文件 向量数据三者都会长软件Docker 与 Compose v2同左整套部署只有 5 个常驻容器不依赖 K8s一行自检命令输出即判断依据nproc free -h df -h . docker compose version配置档位对照2 核 4 GB体验功能可用别传大文件别跑本地模型。4 核 8 GB开发与测试够用。8 核 16 GB 以上生产可用本地大模型也稳。一键部署主流程四步到可访问 第 1 步获取代码拉取仓库compose 文件与启动脚本都在根目录git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora看到docker-compose.yml与 scripts/start_all.sh 即通过。第 2 步初始化环境配置cp .env.example .env # 复制模板为 .env运行时参数全部从这里读app 服务通过env_file直接读取整个 .env.example 模板生成的文件注意别把它提交进版本库。ls .env不再报错即通过。第 3 步一键启动scripts/start_all.sh 支持按场景选参./scripts/start_all.sh # 默认尝试拉起 Ollama 并启动全部容器 ./scripts/start_all.sh -d # 已有远程模型只起容器跳过 Ollama ./scripts/start_all.sh --no-pull # 离线环境不拉镜像用本机已有的脚本先探测 Docker 与镜像再执行docker compose up -d。第 4 步验证访问docker compose ps # 查看五件套状态 curl -f http://localhost:8080/health # app 健康检查端点看到 frontend、app、postgres、redis、docreader 五个容器全部处于运行状态curl 返回 200浏览器打开 http://localhost 出现登录页即通过。系统速览搞清 Docker 部署里每个服务的分工 服务对外端口负责的事上游依赖frontend80网页界面把 API 请求转给 appappapp8080业务核心对话、文档入库、检索、Agentredis、postgres、docreaderdocreader50051内网解析 PDF、Office、网页等格式无postgres5432内网元数据 向量检索内置 ParadeDB无redis6379内网缓存与任务队列无整套结构像一个开放图书馆frontend 是借阅台app 是值守馆员docreader 是图书加工师postgres 是书架档案redis 是预约登记板。只有 80 与 8080 映射到宿主机其余三个只走容器内网——端口少暴露一层攻击面就少一层这也是默认 compose 的设计意图。需要对象存储、Neo4j 图谱、SearXNG 搜索时按 docker-compose.yml 中的 profile 追加例如docker compose --profile minio up -d。生产环境改造高频改动就这三处 ⚙️一、换端口与模型地址改哪里.env.example 生成的.env两行。APP_PORT8081 # 后端对外端口默认 8080 OLLAMA_BASE_URLhttp://192.168.1.10:11434 # 指向你的模型服务为什么共享机器上 80/8080 常被占用模型服务不在本机时默认值host.docker.internal够不着必须改地址。怎么验证curl http://localhost:8081/health返回 200模型也可在 Web 设置页配置不用动文件。二、分块等检索参数改哪里config/config.yaml 的knowledge_base段。该文件以只读方式挂载进容器改完重启 app 即生效不重建镜像。knowledge_base: chunk_size: 512 # 分块字符数FAQ 类调小长文调大 chunk_overlap: 50 # 相邻块重叠防止语义在边界被截断为什么分块粒度直接决定召回质量块太大稀释关键词密度太小丢失上下文。怎么验证上传一篇测试文档在分块编辑页核对块长与切分位置。三、开发、生产、离线三环境差异改动全部落在.env一行一项对照配置项开发生产离线日志级别LOG_LEVELdebugLOG_LEVELinfo同生产运行模式GIN_MODEdebug含 SwaggerGIN_MODEreleaseGIN_MODErelease注册入口开放DISABLE_REGISTRATIONtrue同生产镜像获取在线拉取在线拉取--no-pull用本地镜像模型来源本地 Ollama远程 LLM 地址预载本地模型稳定性自检与高频问答生产上线前最后过一遍 ️上线前自检清单DB_PASSWORD、REDIS_PASSWORD已改掉默认值重新生成JWT_SECRET与 32 字节SYSTEM_AES_KEY——AES 密钥丢失后已加密凭证不可恢复DISABLE_REGISTRATIONtrue已设置对外仅暴露 80 与 8080数据库、缓存端口未映射postgres-data卷有备份脚本且完整跑过一次恢复GIN_MODErelease高频问题问答问浏览器访问 http://localhost 连不上答先docker compose ps看 frontend 是否存活多数是 80 端口被占把.env里FRONTEND_PORT改成 8081 后执行docker compose up -d。问app 容器反复重启答docker compose logs app看报错。最常见是.env中DB_USER、DB_PASSWORD、DB_NAME与 postgres 实际值不一致三项对齐即可。问能登录一问话就报模型连接失败答OLLAMA_BASE_URL指向的地址从容器内不可达。先在宿主机执行curl http://你的地址:11434/api/tags确认可达再写入.env模型服务就在宿主机上时容器里要用host.docker.internal而非 localhost。问文档状态一直停在解析中答docker compose logs docreader查原因若文件超限调大.env中MAX_FILE_SIZE_MB默认 50改完同时重启 app 与 frontend。问执行启动脚本提示 docker: command not found答Docker 未安装或守护进程未启动。装好并启动服务后docker compose version能打印版本号即恢复。进阶路线可选服务与 profile 全集docker-compose.yml内置模型声明与目录覆盖website-docs/03-features/06-models.md轻量单机版部署docs/LITE.md【免费下载链接】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),仅供参考
企业数字化 ERP 产品动态
相关推荐
韶关建设网站图解步骤:搞定域名服务器避坑指南 韶关建设网站图解步骤:搞定域名服务器避坑指南 很多韶关老板找我建站,第一句话往往是:“域名和服务器这俩玩意儿,我实在搞不懂。” 这种焦虑太正常了,毕竟面对满屏的技术名词,新手容易懵圈。别急,咱们不整虚的,直接上 图解步骤… · 2026/9/27 7:53:47
pandas 与 Dask 分布式并行计算实战:突破单机内存极限的百 GB 数据清洗 pandas 与 Dask 分布式并行计算实战:突破单机内存极限的百 GB 数据清洗在数据科学与离线特征工程中,分析师经常遇到一种被称为**“单机内存墙(Out-of-Core Memory Barrier)”**的极限挑战:
本地机器只有 16 GB 或 32 G… · 2026/9/27 8:34:55
Go 微服务防御性编程实践:从超时重试风暴到泛型断路器设计 Go 微服务防御性编程实践:从超时重试风暴到泛型断路器设计在分布式微服务架构中,单点故障往往并不可怕,最可怕的是局部抖动引发的“级联雪崩”。一个下游依赖出现短暂的 500ms 慢查询,上游服务如果缺乏精准的防御性编程࿰… · 2026/9/27 8:34:55
FreeRTOS 软件定时器(Software Timers)底层守护任务与命令队列拓扑剖析 FreeRTOS 软件定时器(Software Timers)底层守护任务与命令队列拓扑剖析在基于 FreeRTOS 的嵌入式系统设计中,当需要执行周期性或单次延时回调(例如:每隔 500ms 翻转一次 LED 状态灯、在收到指令 3 秒后超时关闭电机驱动… · 2026/9/27 8:34:49
Tokio 定制运行时:手写单线程轻量执行器与 LocalSet 架构 Tokio 定制运行时:手写单线程轻量执行器与 LocalSet 架构在追求极致低延迟的高频交易系统、网络中间件以及嵌入式边缘网关中,多线程工作窃取运行时(Multi-Thread Work-Stealing Runtime)虽然吞吐量大,但伴随着不可忽视… · 2026/9/27 8:34:43
Apache Beam Kotlin Katas 实战:Aggregation 之 Count 聚合变换详解 大数据批处理流处理数据工程 【免费下载链接】beam Apache Beam is a unified programming model for Batch and Streaming data processing. 项目地址: https://gitcode.com/gh_mirrors/beam4/beam 点击查看 免费下载 导读
本文以 Apache Beam 官方 Kotlin Katas… · 2026/9/27 8:34:43
时尚网站模板代码拆解:3招搞定建站报价避坑指南 时尚网站模板代码拆解:3招搞定建站报价避坑指南 找建站公司最怕什么?不是技术牛不牛,而是报价单上那串让你心跳加速的数字。很多老板拿着“高端大气上档次”的需求,结果收到一份报价单,价格直接劝退。这时候,懂点 时尚网站模板代码… · 2026/9/27 8:34:43
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01