其实我之前有一个QNAP的NAS,但没有用起来,主要原因也在自身,我那台NAS是8盘位的"巨无霸",需要插网线,实在是没有位置放它,所以从买来到最后咸鱼出售,只开机过4次,我感觉我那台NAS用途还是太单一,要说运行内存只有8G(扩充后),用起来也感觉有点卡卡的,除了一些影像资源,也没其它用处,还很占位置,所以就把它出售了。
其实我想说,想玩个NAS,买台低功耗服务器也能玩,前提是没有大量资源存储需求,买我之前那台NAS的伙伴就是个摄影爱好者,那就另当别论了,服务器的扩展和可玩性就要强得多,上次搭完FlexCdn,这次准备搭个NasCab,第一眼看到它,是被它的UI给吸引了。
NasCab直接通过Docker部署,仅支持X86-64和arm64架构的Cpu【不建议在Windows下部署NasCab docker】由于网络原因,NasCab现在已经根据不同架构分为了两个分支
如Docker pull ypptec/nascab:3.5.3-x64
或者Docker pull ypptec/nascab:3.5.3-arm64
如果服务器没有docker环境,可以使用以下命令安装(ubuntu系统,其它自行百度)
sudo apt install docker.io
sudo apt install git
NasCab需要映射数据目录和缓存目录,还需要映射4个端口,分别是80端口(主端口),443端口(HTTPS主端口),90端口(Webdav分享),21端口(Ftp分享),如不需要设置文件分享,可以不映射90和21端口。
示例:如在Linux下,您想把/myData[确保docker有这个目录的读取和写入权限]挂载到docker中的/myData目录,并且将/nascabData目录作为NasCab的数据库和缓存目录,将8888端口作为NasCab的服务端口,将5555作为Webdav服务端口,可以使用以下命令:
docker run -v /myData:/myData -v /nascabData:/root/.local/share/nascab -p 8888:80 -p 5555:90 -d --log-opt max-size=10m --log-opt max-file=3 ypptec/nascab
示例:如在Mac下,您想把当前用户目录挂载到docker中的/myData目录,并且将"文稿"中的nascabData目录作为NasCab的数据库和缓存目录,将8888端口作为NasCab的服务端口,可以使用以下命令:
docker run -v /Users/您的MacOs用户名:/myData -v /Users/您的用户名/Documents/nascabData:/root/.local/share/nascab -p 8888:80 -d --log-opt max-size=10m --log-opt max-file=3 ypptec/nascab
部署成功后,您可以通过宿主机IP+NasCab运行端口来访问服务,比如您的宿主机的局域网IP是192.168.1.2,您映射了8888为NasCab主端口,那么可以通过192.168.1.2:8888来访问NasCab服务,或者在宿主机本机通过localhost:8888来访问。
部分品牌Nas会在文件结构中自动生成一些缩略图等无用文件,可以通过来源文件夹中的排除功能进行排除,如群晖会生成@erDir文件夹,里面保存了缩略图等群晖自动生成的文件,可以在路径排除中添加一个排除项:/@erDir/ 这样,所有路径中带有这个关键字的图片视频将被屏蔽。
常见问题:
- Windows下部署NasCab docker无法监控文件变动,照片、视频增减需要在设置来源文件夹处点击[扫描变动]或者重启容器
- docker版本更新:重新pull即可,将/root/.local/share/nascab映射到前一版本映射的宿主机目录,数据库即可完整保留
- 部分绿联Nas用户反馈docker日志过大,请运行docker的时候务必加上限制日志大小的选项:--log-opt max-size=10m --log-opt max-file=3
当然除了WEB应用,APP端也支持Android和IOS的,以及Android TV也支持,还是很香的。
我也是这样!