基于开源方案的生产力NAS 篇三:Heimdall不合胃口,于是我开源了适合diy nas的AquarHome系统

2021-11-25 17:41:51 158点赞 675收藏 137评论

创作立场声明:分享一下自己开发的个人Home页系统,希望能解决一些问题,也希望大家给出一些建议。项目已经开源,GitHub:https://github.com/firemakergk/aquar-home ,码云:https://gitee.com/firemaker/aquar-home

Heimdall不合胃口,于是我开源了适合diy nas的AquarHome系统

前言

开发自己的DIY NAS系统已经两年了,对于我来说DIY NAS的最大好处就是所有组件都可定制,哪里不爽改哪里,没有什么能够阻挡,我对自由的向往。从众多优秀的开源软件中找出一套适合自己口味的方案,然后整合在一起确实是一件非常愉悦的事情,这让我感觉到是自己在定义自己,而不是被别人定义。我想热爱DIY玩家应该都有这种不想被标准化定义的心态。

Heimdall不合胃口,于是我开源了适合diy nas的AquarHome系统

而DIY NAS的缺点和优点其实是一体两面,高度可定制化意味着你需要自己斟酌方案,自己选型,自己搭环境,自己运维,好在经过了两年的打磨,我的这套方案已经可以通过脚本一键安装了,现在搭建一套环境算上等待的时间也就不到一小时。但是DIY NAS的第二个问题就没那么容易解决了——就是各个组件间的集成与联动。在成品nas上,你可以在同一个host上完成几乎所有工作,但是DIY NAS上各个应用都是独立的,你需要在不同的服务间跳来跳去。

传个文件你得上nextcloud,看个视频你得上jellyfin,想看看设置的同步文件夹都同步了没有,你得上syncthing,诶?端口号多少来着?久而久之平时不常用的服务就被遗忘了,但是不常用并不代表不重要,假如同步服务有问题,你可能一直无法发现,直到你另一个设备上的数据丢了,过来找的时候,你发现这个同步服务已经停了半年了,这种悲剧不应该发生在DIY玩家这种勤劳的人身上!

那怎么解决这个问题呢?我的想法是把这些零散的服务都集成在一个仪表盘上,你可以对所有服务的运行状态一目了然。这就是你的自己的NAS Home页。Home页项目我找了很久,比较好的只有一个Heimdall,但是试了一下发现他只是个简单地导航页,官网演示的那种动态数据获取非常羸弱,它本身又是php开发,几乎不可能扩展,况且他的作者也早就停止维护这个项目了。于是我的编程之魂就燃烧了,我要开发适合DIY NAS的Home页!

我的本职是java研发,这个项目为了追求轻量,选择了纯vue+nodejs的纯javascript技术栈,我边学边写,断断续续写了将近一年,终于完成了1.0版本。项目取名AquarHome(码云github均已同步 ),Aquar取自我NAS方案的名字水瓶座,Home就是home页的意思,所以可以叫“水瓶Home页”。整体项目的理念是:易用、轻量、可定制、易扩展。目前已经开源到了码云和GitHub,可直接使用docker部署,方便快捷。下面放一些码云上的介绍以及操作图供大家参考。

系统介绍:

整体页面整体页面

AquarHome是一个强大可定制,其本身具备基础导航功能(如搜索框、导航链接)的同时还适配了多种NAS常用服务的API,集成了NextCloud、Docker、Syncthing、TrueNas等服务,可以在同一页面直接看到各个服务的核心数据与最新状态。

AquarHome的核心特性:

  • 适配各种开源服务api的组件

    • nextcloud文件浏览器

    • docker容器状态监控

    • Syncthing同步目录状态监控

    • 基于rsync的文件增量备份组件

    • PVE虚拟机状态监控

  • 完善的Home页导航功能

    • 多尺寸的图标样式

    • 自定义上传图标

    • 自动抓取网站ico图标

    • 链接批量导入

    • 搜索框组件

  • 页面适配移动端设备显示

  • 所有组件大小位置可自定义

  • 多标签页

  • 同时支持登录信息验证与无登录验证

  • 风格主题可选

  • 背景图片可自定义

技术特性:

  • vue+nodejs技术栈

  • docker镜像

  • 不依赖数据库

目前项目仍处于早期,更多组件已列入开发计划:

  • todoList组件

  • 日历组件

  • 留言板&相册幻灯片

  • rtsp推流监视器

  • emby/jellyfin组件

  • ......

如果你发现有任何bug都可以在这篇文章下以及码云上留言,我看到后会第一时间处理。
GitHub:https://github.com/firemakergk/aquar-home
码云:https://gitee.com/firemaker/aquar-home

快速开始:

Docker方式

AquarHome的部署推荐使用docker-compose方式。

0.docker及docker-compose的安装不是本文档的重点,请参考其他资料安装。

1.在准备好docker-compose环境后,创建一个新文件夹。

例如: mkdir aquarhome

2.在文件夹中创建一个docker-compose.yml文件。

touch docker-compose.yml

3.将下面的配置粘贴在文档中,然后根据你自己的目录结构指定好三个docker卷挂载点。

version: "3"
services:
aquarhome:
image: finetu/aquarhome:latest
container_name: aquarhome
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- your/path/to/data:/var/aquardata #数据目录,包含核心配置数据,缓存/上传文件
- your/path/to/aquarpool:/opt/aquarpool #供文件同步功能使用,若不需要此功能可选择一个空文件夹填写
- /opt/aquar/storages/apps/aquarhome/logs:/root/.pm2/logs #日志文件
ports:
- 8172:8172
restart: unless-stopped

4.在aquarhome目录下,执行使用docker-compose启动容器。顺便一提,由于docker-compose是一个python工具,而python有时会使用虚拟环境,如果你发现自己安装了docker-compose后仍然无法使用docker-compose命令,可以确认一下自己当前所在的pyhton环境到底是哪一个。

cd aquarhomedocker-compose up -d

5.docker-compose正常启动后,访问宿主机在内网中的地址,如192.168.0.117:8172,如果可以看到AquarHome的登录页面,就说明部署成功了。

展开 收起

华硕穿云箭 全M.2方案云存储NAS家庭家用储存服务器个人私有云盘M.2盘位网络存储器局域网文件共享硬盘

华硕穿云箭 全M.2方案云存储NAS家庭家用储存服务器个人私有云盘M.2盘位网络存储器局域网文件共享硬盘

3999元起

华硕穿云箭 全M.2方案云存储NAS家庭家用储存服务器个人私有云盘M.2盘位网络存储器局域网文件共享硬盘

华硕穿云箭 全M.2方案云存储NAS家庭家用储存服务器个人私有云盘M.2盘位网络存储器局域网文件共享硬盘

3999元起

创米小白内存卡摄像头监控家用microsd储存卡NAS网络存储手机tf卡

创米小白内存卡摄像头监控家用microsd储存卡NAS网络存储手机tf卡

18.88元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1799元起

群晖(Synology)DS224+ 2盘位NAS 磁盘阵列网络存储服务器 个人私有云备份网盘 DS224+【标配不含硬盘】

群晖(Synology)DS224+ 2盘位NAS 磁盘阵列网络存储服务器 个人私有云备份网盘 DS224+【标配不含硬盘】

2849元起

拾光坞/N3星光版/nas私有云盘/网络存储/离线下载/虚拟机/电视投屏/远程访问/低功耗/送星光豆 星光版- V1 白色

拾光坞/N3星光版/nas私有云盘/网络存储/离线下载/虚拟机/电视投屏/远程访问/低功耗/送星光豆 星光版- V1 白色

499元起

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4块4T西数红盘PLUS】钛金灰

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4块4T西数红盘PLUS】钛金灰

暂无报价

极空间 新Z4S版 四核4盘位 NAS网络存储服务器 8G nas家用 个人云 私有云 主机 新Z4S 碳晶灰 版 标配

极空间 新Z4S版 四核4盘位 NAS网络存储服务器 8G nas家用 个人云 私有云 主机 新Z4S 碳晶灰 版 标配

2899元起

极空间私有云Z4Pro 8G版四盘位Nas网络存储服务器家庭个人云相册备份文件同步【配4T西数红盘PLUS】钛金灰

极空间私有云Z4Pro 8G版四盘位Nas网络存储服务器家庭个人云相册备份文件同步【配4T西数红盘PLUS】钛金灰

暂无报价

海康威视(HIKVISION) nas网络存储服务器 家用个人私有云存储 家庭云盘存储Mage20 标配+双盘(8TB*2)

海康威视(HIKVISION) nas网络存储服务器 家用个人私有云存储 家庭云盘存储Mage20 标配+双盘(8TB*2)

2977元起

TBS-464 性能出色轻轻薄小巧 全M.2 NVMe SSD NASbook 双HDMI2.0支持Plex 共享存储智选

TBS-464 性能出色轻轻薄小巧 全M.2 NVMe SSD NASbook 双HDMI2.0支持Plex 共享存储智选

5600元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4块8T希捷酷狼硬盘】钛金灰

极空间私有云Z4Pro 性能版 8核16G内存 四盘位Nas网络存储服务器家庭个人云【配4块8T希捷酷狼硬盘】钛金灰

暂无报价

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095 8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095 8GB)

2299元起

威联通(QNAP) 【8G内存】 TS-462C 4盘位 网络存储服务器 内存可拓展 nas 标配-4G内存 标配无硬盘

威联通(QNAP) 【8G内存】 TS-462C 4盘位 网络存储服务器 内存可拓展 nas 标配-4G内存 标配无硬盘

暂无报价

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2599元起
137评论

  • 精彩
  • 最新
  • 兄弟,我感觉不是缺个nas系统。群晖、威联通、u-nas等等已经很多很多系统了,重复造车意义不大。最缺的是好用的应用。你比如能承载家庭成员身体健康信息的个人健康系统(PHM),再比如可以承载人脉信息的人脉树信息系统(包含图片、视频、文字等等),家庭财务管理系统,等等好用实用的应用。做好这些专业好用的轮子,不论开什么车都离不开你,这样不香?

    校验提示文案

    提交
    所以我的思路就是把优秀的开源项目用起来,并且有机结合在一起,这样就能形成一套统一的系统

    校验提示文案

    提交
    收起所有回复
  • 顶,今晚就试试 [高兴]

    校验提示文案

    提交
    如果发现什么bug,就反馈下,我第一时间处理哈

    校验提示文案

    提交
    我在注册表里下载了 1g的包 不知道咋安装啊

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 安装方式能详细说说么 你这个唯一的安装方式以前没遇到 docker pull的命令也行

    校验提示文案

    提交
    docker-compose方式其实等价与docker命令方式,大概相当于:
    docker run \
    –restart=unless-stopped \
    -p 8172:8172 \
    –name aquarhome \
    -v your/path/to/data:/var/aquardata \
    -v your/path/to/aquarpool:/opt/aquarpool \
    -v /opt/aquar/storages/apps/aquarhome/logs:/root/.pm2/logs \
    -d finetu/aquarhome:latest

    校验提示文案

    提交
    明白 感谢 马上安装

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 官方再开发呀v3版本叫heimdalljs,去看看

    校验提示文案

    提交
    跑去看了一眼,项目竟然已经写了2年了,看起来好像难产了,话说linuxserver的docker镜像是真的好,造福广大DIY NAS爱好者

    校验提示文案

    提交
    收起所有回复
  • 这个厉害了,diy nas楼主是用各种docker来实现吗

    校验提示文案

    提交
    对,聚合各种docker应用来实现想要的功能

    校验提示文案

    提交
    可以的,楼主都用了哪些docker啊,其实是不是可以把你的aquarhome里做一些推荐,或者直接一键部署推荐docker

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 分页配置里面没有找到增加分页的方法,是需要手动改配置文件吗。另外就是镜像有点大,解压之后有1.1G,如果只是做导航的话不算很轻量了。heimdall只有80几M

    校验提示文案

    提交
    这个确实是,但是我依赖的node基础镜像就944M了,不知道heimdall怎么弄得竟然那么小。不过说轻量化主要是说开发使用的技术轻量,不依赖数据库,不需要专门的http容器等等,而且这个项目的源码包确实很小。

    校验提示文案

    提交
    分页没法添加的问题,我现在就修复一下,着急的话可以先修改json文件用着 [吐舌]

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 威联通可以装来试下的吗

    校验提示文案

    提交
    目前X86平台的威联通都可以。

    校验提示文案

    提交
    有docker都行

    校验提示文案

    提交
    收起所有回复
  • nextcloud改成filerun试试,filerun免费的无任何功能限制,但是只能三用户,自用的话无所谓

    校验提示文案

    提交
    可以,filerun的api我排到计划上

    校验提示文案

    提交
    收起所有回复
  • 大佬,刚看过你的前两篇文章,想问这个AquarHome页面是否有考虑退出arm64架构docker镜像的计划呢?顺带也可以扩展一下用户范围嘛。

    校验提示文案

    提交
    哦有道理!我记下来,后面搞搞

    校验提示文案

    提交
    兄弟,用我的老树莓派试了下amr的镜像,暂时没成功,另外貌似arm的版本还有细分我的老树莓派只能到armv7,我后面有时间再试试吧。

    校验提示文案

    提交
    收起所有回复
  • @生火人 基于最新版alpine的node(docker pull node:lts-alpine3.14 大小38MB),基于Debian 10(docker pull node:lts-buster-slim 大小60MB),大佬,帮你节省一些查找的时间,顺便考虑考虑是否可以加入arm64的docker镜像。 [馋]

    校验提示文案

    提交
    多谢提示!我研究下

    校验提示文案

    提交
    兄弟,试了下alpine,暂时没成功,项目里面有依赖shell脚本的组件,想调好还挺麻烦的。slim那个我再找时间试试。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 大佬牛*,想问问你监控在哪呢?

    校验提示文案

    提交
    视频监控吗?还没接入

    校验提示文案

    提交
    额,系统状态,还有同步状态这些的

    校验提示文案

    提交
    收起所有回复
  • 支持UNRAID状态显示不?

    校验提示文案

    提交
    我加到计划里,不过unraid的状态是真的全,在小部件上应该只会聚焦在磁盘、内存等系统信息上

    校验提示文案

    提交
    收起所有回复
  • 能直接提供一个yml吗,现在基本都docker图形化安装了

    校验提示文案

    提交
    文中给的就是yml啊

    校验提示文案

    提交
    收起所有回复
  • 1、分页没有删除。2、导航图标拉大后会变成原始图标

    校验提示文案

    提交
    删除功能刚加上,下午发一版,导航图标拉大以后原来那个小图标就不够大了,一般网站的ico只有16像素,直接显示会很丑,所以就要显示你自己上传的图标,如果没有的话就显示默认图标了。

    校验提示文案

    提交
    收起所有回复
  • 分页配置好像只有添加,没有删除?另外组件里面的设置希望能出个教程,多谢大神!

    校验提示文案

    提交
    添加的功能昨天发现没有,今天刚加上去,一会儿发一版

    校验提示文案

    提交
    说错了是删除,另外组件配置的文档我下一步就写

    校验提示文案

    提交
    收起所有回复
  • 这个太牛*了,这个NAS可以与openwrt想相整合吗?有没有讨论区啊?非常想马上测试一下。

    校验提示文案

    提交
    没细研究过openwrt,他只要有开放的api就能整个进来,只是需要我开发出来

    校验提示文案

    提交
    有任何问题可以在这里留言或者码云上留言哈!要紧的bug我会在一天内修复

    校验提示文案

    提交
    收起所有回复
  • 一直想做这玩意 奈何前端水平垃圾 只能写golang api [喜极而泣] [喜极而泣] [喜极而泣]

    校验提示文案

    提交
    golang看来是大厂的人啊

    校验提示文案

    提交
    收起所有回复
  • 深色背景虚化后有白边不是很完美

    校验提示文案

    提交
    深色主题其实没完工,我这两天出一版把这个整整

    校验提示文案

    提交
    收起所有回复
  • 问一下unriad系统怎么安装这个导航站?

    校验提示文案

    提交
    我的系统不是unraid,没法给具体的说明,但是这个包适个标准的docker镜像,只要有docker就能部署的

    校验提示文案

    提交
    收起所有回复
  • 装了,打不开是怎么回事

    校验提示文案

    提交
    能提供下是什么环境怎么配置的吗?如果有条件的话可以在码云上提交个issue,我会尝试复现解决

    校验提示文案

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

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐