开源 · 自托管 · 数据自持

把散落的数字生活收进一台自己的机器

短信、邮箱与设备通知汇入同一条时间线;音乐、影视、书架、文件与容器,共用同一个账号与同一个数据目录。

Docker 一条命令 · 首个账号即管理员 · 数据只落在自己的服务器。

00 一个中枢八个模块,共用一套账号与同一个数据目录。
08功能模块
02音乐音源
06电子书
100%数据自持

单容器 · 一个端口 · 备份一个目录

01 / 功能

八个模块,一种秩序。

每个模块都能独立使用;放在一起时,它们共用同一套账号、同一条时间线与同一个数据目录。

01

消息聚合

短信、IMAP 邮箱、API 通知汇入同一条时间线。渠道筛选、全文搜索、未读、星标、置顶与批量操作。

SSEHMAC多来源
02

音乐中心

NAS 本地曲库或 Subsonic,歌词、收藏、歌单、每日推荐、热歌排行与全屏播放页。

NASSubsonic歌词
03

影视中心

NAS 或 Jellyfin / Emby,NFO 元数据、TMDB 海报与剧照补全、继续观看与播放进度。

JellyfinTMDB续播
04

书架

TXT / EPUB / PDF / MOBI / AZW3 / FB2,全屏阅读器与多端阅读进度。

EPUBPDF进度同步
05

文件库与快传

分片上传、逻辑目录、在线预览、批量移动与下载。电脑、手机与 NAS 之间的中转站。

分片目录预览
06

常用导航

默认 / 内网双地址、图标自动补全、分组与拖拽排序,把常去的站点钉在一屏。

双地址图标排序
07

容器监控与控制

状态、端口、CPU / 内存与日志一屏呈现;可选启停、重启、删除与拉取镜像。默认关闭。

Docker审计可选
08

头像库

企业分组 + 匹配规则,支持号码、签名、邮箱与昵称;在线图标补全与 ZIP 导入导出。

分组规则ZIP
02 / 路径

接入、汇聚,然后随处取用。

消息与媒体从不同方向进入,落在同一份数据里;Web 与 Android 只是取用的窗口。

01

接入

手机短信、IMAP 邮箱、任意 HTTP 设备,按同一套签名协议推送。

02

汇聚

签名校验、去重入库、头像匹配,经 SSE 实时送达打开着的页面。

03

取用

Web 或 Android,同一账号、同一份数据,在家里或路上。

03 / 预览

一个界面,装下所有日常。

以下是界面结构的示意。真实的 iHub 更安静,也更适合每天打开。

iHub / 消息 SSE 实时
收件箱搜索消息已连接
招招商银行您尾号 8899 的账户完成一笔支付交易…短信刚刚
GGitHub[GitHub] Your security alert for repo…邮件2 分钟
NNAS 监控磁盘空间不足告警:使用率已达 92%…通知9 分钟
1610086您本月套餐流量已使用 80%…短信昨天
音乐搜索歌曲NAS 音源
正在播放夜空中最亮的星逃跑计划 · 世界
宁愿所有痛苦都留在心里
也不愿忘记你的眼睛
01:3604:12
01夜空中最亮的星逃跑计划04:12
02山海草东没有派对04:35
03平凡之路朴树05:01
04稻香周杰伦03:43
影视搜索影片Jellyfin
★ 8.7 DUNE · PART TWO 2 沙丘
2024 · 166 分钟
★ 9.1 THE LONG SEASON 漫长
的季节
2023 · 12 集
★ 8.4 OPPENHEIMER 奥本海默
2023 · 180 分钟
书架搜索书名进度同步
THREE-BODY三体
EPUB72%
TO LIVE活着
TXT41%
SAPIENS人类简史
PDF18%
HITCHHIKER'S银河系
漫游指南
AZW39%
文件库/ 全部文件搜索文件
IMGposter-dune.png2.4 MB
PDF说明书.pdf1.1 MB
ZIP备份-2026.zip86 MB
MP4旅行片段.mp4214 MB
TXT书单.txt3 KB
IMGscreenshot.jpg780 KB
04 / 部署

一条命令,落在自己的机器上。

单容器同时提供 API 与页面。数据落在仓库的 data/,备份一个目录即可带走全部。

  1. 01
    克隆仓库

    需要一台能运行 Docker 的机器,NAS、迷你主机或云服务器都可以。

  2. 02
    启动服务

    在仓库根目录执行 compose,首次构建完成后即常驻运行。

  3. 03
    打开并注册

    访问 http://<主机IP>:18765,第一个注册的账号自动成为管理员。

bash
# 克隆并启动
git clone https://github.com/limi75525/ihub.git
cd ihub
docker compose up -d --build

# 打开 http://<主机IP>:18765
# 首个注册账号自动成为管理员
  1. 01
    导入镜像

    按 NAS 架构选择 arm64 或 amd64 的镜像包,在 Docker 界面导入。

  2. 02
    准备数据目录

    建一个持久化目录挂载到容器的 /app/data,备份它即可。

  3. 03
    启动项目

    按文档准备 compose 后启动,端口保持 18765 即可。

nas
# 1. 导入镜像(界面或 SSH)
docker load -i ihub-1.6.3-arm64.tar.gz

# 2. 数据目录示例
/volume1/docker/ihub/data

# 3. 按文档准备 compose 后启动
docker compose up -d

# 打开 http://<NAS的IP>:18765
  1. 01
    创建虚拟环境

    Python 3.11+,在仓库根目录下创建 .venv。

  2. 02
    安装依赖

    安装 requirements.txt,首次安装需要一点时间。

  3. 03
    启动

    必须单 worker,并保留 --no-proxy-headers。

python
# Windows 用 .venv/Scripts,Linux / macOS 用 .venv/bin
python -m venv .venv
.venv/Scripts/pip install -r requirements.txt

.venv/Scripts/python -m uvicorn app.main:app \
  --host 0.0.0.0 --port 18765 --no-proxy-headers

# 打开 http://127.0.0.1:18765
05 / 问答

在开始之前,你可能想知道。

关于数据、网络、来源与安全,几个最常见的问题。

全部在仓库的 data/:SQLite 数据库、邮件附件、头像、站点 Logo 与密钥。备份这个目录就是备份全部;恢复时把它放回原位并重启即可。

不需要。家庭内网直接访问即可;要在外面用,可以接 Tailscale、frp 或 Cloudflare Tunnel,并在反向代理上配置 HTTPS。

短信(Android 通知监听、硬件网关或任意 HMAC 签名 API)、IMAP 邮箱,以及任何能发 HTTP 请求的设备或脚本。短信与 API 共用一套设备签名通道。

音乐支持 NAS 本地目录或 Subsonic(Navidrome 等);影视支持 NAS 本地目录或 Jellyfin / Emby。NAS 影视源可选配 TMDB Key,自动补全缺失的海报、剧照与标题 Logo。

默认关闭。界面上的「容器监控与控制」会同时控制两项,写操作需要管理员、监控与控制三重校验,并逐条写入审计日志。更稳妥的做法是接入 docker-socket-proxy,只放行需要的接口。

Android 客户端可以登录查看消息、音乐、影视、书架与文件。安装后授权「通知使用权」并绑定设备码,手机短信就会实时推到你的 iHub。

不会。数据独立于镜像,换镜像或重建容器不影响仓库的 data/。升级前仍建议先备份该目录,尤其是跨大版本时。

第一个注册的账号是管理员。每个用户的消息、接入源、头像库、设备、音乐收藏与影视进度都按账号隔离;管理员可以管理用户与站点设置。

把数字生活放回自己手里

十分钟完成部署,从此消息、音乐、书、文件与容器都有一个共同的家。