给极空间装上末日生存指南!NOMAD部署,离线资料本地AI一次搞定

2026-08-18 17:09:01 1点赞 4收藏 2评论

NAS、键盘路由器······年轻就要多折腾。爱折腾的熊猫,今天又给大家分享最近折腾的内容了。关注是对我最大的支持,阿里嘎多~

怕错过熊猫的精彩分享?那就赶快关注下熊猫吧!

引言

前不久熊猫家里突然断过半天的网络,就因为这半天的断网,我发现了一个非常有趣硬核的开源项目:Project N.O.M.A.D。

项目介绍项目介绍

它将离线百科、本地AI、课程以及地图等等一些工具集中在一起,你可以按需进行内容下载,下载之后即便是断开网络,所有内容都可以在局域网下正常访问,且你装下的是一套可以搜索、阅读、学习的本地资料对话系统,可以称之为“末日生存电脑”。

整套系统都是建立在Docker上的,不过并不是一股脑把所有资料塞进去,安装好之后我们需要自行根据需求选择离线的应用、地图以及百科,就是把一堆我们原本可以自己部署,但配起来比较费时间的项目,整理成了一套相对完整的产品。

项目介绍

N.O.M.A.D的AI助手主要由Ollama和Qdrant组成。

设置界面设置界面

Ollama负责在本地运行大语言模型,Qdrant负责向量检索,用户可以把自己的PDF、EPUB以及其他资料上传到知识库,然后通过RAG检索增强生成,让AI根据这些文档回答问题。

举个例子,可以把设备说明书、急救手册、个人笔记或者维修资料放进去。以后不需要手动翻几十页PDF,直接询问AI即可。

RAG知识库RAG知识库

整个问答流程可以在本地完成,文档不需要上传到第三方云端。对于比较在意资料隐私的人来说,这点还是挺关键的。

如果运行N.O.M.A.D的设备性能不够,也可以连接局域网中另一台电脑上的Ollama,或者接入LM Studio、llama.cpp等兼容OpenAI接口的本地服务。这样便能让极空间负责存储和管理资料,把模型推理交给带独立显卡的电脑。

项目首页项目首页

在N.O.M.A.D的首页你能看到地图、快速安装、补给站和文档与设置,其中地图可以按需下载,在列表能看到非常多的地区资源,如果全量下载大概需要127G的存储空间,除了提供的资源,也可以选择自定义地图文件加载。

地图管理器地图管理器

如果不想一步一步操作,在快速安装中也提供了流程化的安装过程,你可以选择你的需求,例如信息库、教育平台亦或者人工智能,随后再进行地图选择、内容选择等等,整个过程只需要点点点就行。

快速安装快速安装

前面也提到了,N.O.M.A.D的本质其实就是将一些Docker进行集中管理,所以在补给站这里可以按需进行可用项目的安装,例如离线的维基百科、AI智能、笔记、PDF识别等等。

按需安装按需安装

在系统设置中能看到自己部署机的一些情况,例如熊猫这里的极空间Z425,成功识别到了系统、处理器等信息。

设置设置

最后总结一下,N.O.M.A.D的地图用的是ProtoMaps、信息图书馆使用的是Kiwix、AI助手主要由Ollama和Qdrant组成、教育平台由Kolibri提供。要讲整个内置的所有资源下载完,预计需要的存储是按TB为单位。

项目部署

N.O.M.A.D的部署也不难,这里还是以熊猫手头的极空间Z425为例子,打开极空间的Docker,为了方便部署这里就用Compose编排,代码如下:

name: project-nomad services: # ───────────────────────────── # NOMAD Command Center # ───────────────────────────── admin: image: ghcr.linkos.org/crosstalk-solutions/project-nomad:1.34.0 container_name: nomad_admin restart: unless-stopped ports: - "${NOMAD_PORT}:8080" extra_hosts: - "host.docker.internal:host-gateway" volumes: # 两处路径必须保持一致 - "${NOMAD_ROOT}/storage:/app/storage" - "/var/run/docker.sock:/var/run/docker.sock" environment: NODE_ENV: production HOST: "0.0.0.0" PORT: "8080" LOG_LEVEL: info NOMAD_STORAGE_PATH: "${NOMAD_ROOT}/storage" APP_KEY: "${APP_KEY}" URL: "${NOMAD_URL}" DB_HOST: mysql DB_PORT: "3306" DB_DATABASE: nomad DB_NAME: nomad DB_USER: nomad_user DB_PASSWORD: "${DB_PASSWORD}" DB_SSL: "false" REDIS_HOST: redis REDIS_PORT: "6379" DISABLE_COMPRESSION: "false" depends_on: mysql: condition: service_healthy redis: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] interval: 30s timeout: 10s retries: 5 # ───────────────────────────── # MySQL数据库 # ───────────────────────────── mysql: image: mysql:8.0 container_name: nomad_mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}" MYSQL_DATABASE: nomad MYSQL_USER: nomad_user # 必须与admin中的DB_PASSWORD一致 MYSQL_PASSWORD: "${DB_PASSWORD}" volumes: - "${NOMAD_ROOT}/mysql:/var/lib/mysql" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 30s timeout: 10s retries: 10 # ───────────────────────────── # Redis缓存 # ───────────────────────────── redis: image: redis:7-alpine container_name: nomad_redis restart: unless-stopped volumes: - "${NOMAD_ROOT}/redis:/data" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 30s timeout: 10s retries: 5 # NOMAD会调用该网络名称,请勿随意修改 networks: default: name: project-nomad_default driver: bridge

输入之后点击下方的添加.env,输入以下环境变量。

# 极空间中的宿主机绝对路径 NOMAD_ROOT=/极空间实际路径/docker/project-nomad # 访问地址 NOMAD_PORT=28080 NOMAD_URL=http://192.168.101.81:28080 # 应用密钥,建议使用 openssl rand -hex 32 生成 APP_KEY=请替换为随机生成的密钥 # 数据库密码 MYSQL_ROOT_PASSWORD=请替换为数据库管理密码 DB_PASSWORD=请替换为NOMAD数据库密码

其中涉及到的端口和实际路径这些根据自身NAS情况更改就行。

image.pngimage.png

部署完成之后通过极空间的远程访问就可以打开项目了,记得是用admin项目的映射端口。

写在最后

N.O.M.A.D最值钱的地方,不是把Ollama、Kiwix、Kolibri和Qdrant装进了Docker,这些项目我们原本就能自己部署,它真正省事的地方,是用一套Command Center把应用安装、内容下载、状态查看和后续更新串了起来。

硬盘足够大的话,这里面装下的,大概真是一座小型图书馆了。

以上便是本次分享的全部内容了。如果你觉得还算有趣或对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!

结束图结束图

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
2评论

  • 精彩
  • 最新
  • 末日到了电都不会有

    校验提示文案

    提交
    发电机搞一台

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
4
扫一下,分享更方便,购买更轻松