基于开源方案的生产力NAS 篇三:Heimdall不合胃口,于是我开源了适合diy nas的AquarHome系统
创作立场声明:分享一下自己开发的个人Home页系统,希望能解决一些问题,也希望大家给出一些建议。项目已经开源,GitHub:https://github.com/firemakergk/aquar-home ,码云:https://gitee.com/firemaker/aquar-home
前言
开发自己的DIY NAS系统已经两年了,对于我来说DIY NAS的最大好处就是所有组件都可定制,哪里不爽改哪里,没有什么能够阻挡,我对自由的向往。从众多优秀的开源软件中找出一套适合自己口味的方案,然后整合在一起确实是一件非常愉悦的事情,这让我感觉到是自己在定义自己,而不是被别人定义。我想热爱DIY玩家应该都有这种不想被标准化定义的心态。
而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的登录页面,就说明部署成功了。

云导者
校验提示文案
天吟
校验提示文案
你们跟我拼了
校验提示文案
noah_zh
校验提示文案
螃蟹八只半
校验提示文案
長瀬湊
校验提示文案
rosegoal
校验提示文案
怪蜀黍online
校验提示文案
值友3541599203
校验提示文案
值友3541599203
校验提示文案
西北望天狼
校验提示文案
jhxiaotao
校验提示文案
树梢上的黎明
校验提示文案
lost4
校验提示文案
Ryff5417
校验提示文案
Enzoo
校验提示文案
害我就看看不买
校验提示文案
lost4
校验提示文案
EdwardZ9102
校验提示文案
值友1446622344
校验提示文案
值友3646908204
校验提示文案
RacerLucas
校验提示文案
zqwnet
校验提示文案
欲仙欲死
校验提示文案
ReddotClea
校验提示文案
铁铁小分队
校验提示文案
RacerLucas
校验提示文案
咸蛋erizo
校验提示文案
iangle2017
校验提示文案
888kiki888
校验提示文案
888kiki888
校验提示文案
值友1446622344
校验提示文案
值友1446622344
校验提示文案
小鸡鸡啄米
校验提示文案
EdwardZ9102
校验提示文案
叫兽_sk
校验提示文案
lost4
校验提示文案
大屁股白柯基
校验提示文案
害我就看看不买
校验提示文案
值友1446622344
校验提示文案