今天给飞牛 NAS (fnOS) 的兄弟们分享一个我开发的超轻量级聊天应用 —— NasChat。
🤔 为什么要开发这个?
很多时候我们想在 NAS 上部署一个聊天服务(比如 Matrix, RocketChat),但往往发现它们太“重”了——需要部署数据库(Postgres, Mongo)、Redis,还要维护复杂的后端服务,不仅吃内存,配置和维护也很麻烦。
NasChat 的思路完全不同:它没有后端!
它基于 Nostr 去中心化协议构建。你的 NAS 只需要运行一个极小的 Nginx 容器(占用资源极低)来托管静态页面,所有的消息存储和分发都由全球的 Relay 网络(中继节点)完成。这意味着你不需要维护任何数据库,部署即用。
✨ 核心亮点
- ⚡️ 极致轻量: 纯静态前端架构,基于 Nginx Alpine 镜像,CPU 和内存占用几乎可以忽略不计,老旧机型也能流畅运行。
- 🛡️ 数据自主: 基于 Nostr 协议,你的身份(私钥)完全掌握在自己手中,消息通过加密签名分发,安全且抗**。
- 🧠 脑钱包登录: 专为简化体验设计,支持“账号+密码”登录(自动计算私钥),像使用普通 App 一样方便,无需手动管理复杂的私钥文件。
- 🎨 极光 UI: 采用现代化的 Aurora 风格设计,完美适配桌面端和移动端,颜值在线。
- 🐳 部署简单: 完美支持 Docker Compose 一键启动。
📸 界面预览


🚀 如何在 fnOS 上部署?
方式一:Docker Compose (推荐)
最简单的方式,直接创建一个 docker-compose.yml 文件并启动:
- 在 NAS 上新建文件夹
nas-chat。
- 在里面新建
docker-compose.yml 文件,粘贴以下内容:
nas-chat:
image: 1195864138/nas-chat:latest
container_name: nas-chat
restart: unless-stopped
ports:
- "3009:80" # 左边是NAS端口,可以随意修改
- 在文件夹处右键 -> 打开终端 (或者通过 SSH 进入目录),运行:
docker-compose up -d
方式二:Docker Run 命令行
如果你习惯用命令行一把梭:
docker run -d \
--name nas-chat \
--restart unless-stopped \
-p 3009:80 \
1195864138/nas-chat:latest
方式三:源码部署
如果你想自己从源码构建:
git clone https://github.com/byteami/NasChat.git
cd NasChat
docker-compose up -d --build
🎉 访问应用
部署完成后,打开浏览器访问:http://你的NAS_IP:3009 即可开始聊天!
🔗 开源地址
本项目采用 GPL-3.0 协议开源,欢迎大家 Star ⭐️ 支持一下!
👉 GitHub: https://github.com/byteami/NasChat
💬 常见问题 (Q&A)
- Q: 既然没有数据库,聊天记录存在哪?
- A: 记录存储在全球公开的 Nostr Relay(中继节点)上。NasChat 就像一个浏览器,负责从这些节点拉取并展示消息。你的 NAS 只是作为一个客户端载体。
- Q: 它是完全匿名的吗?
- A: 是的。你不需要提供手机号或邮箱,只需要生成一个密钥对(账号密码)即可拥有全球唯一的身份。
- Q: 支持发图片吗?
希望大家喜欢!如果有任何建议或 Bug,欢迎在帖子里留言,或者去 GitHub 提 Issue。