HomeNAS上面虽然可以使用SFTP、WebDAV和NAS等协议分享文件,但是在易用性上面还是不如网盘的短连接+简单密码的方式好用。一直想找一个类似网盘的HTTP短连接分享的系统。EMBY的分享按钮似乎不能正常工作,更别谈使用带密码校验的功能了。之前Windows系统的Everything,只支持单个账户登录。
集中搜索了一下类网盘的解决方案,发现NextCloud、H5AI和FileRun都有类似功能,首先安装了NextCloud,发现其只能管理新上传的文件,所有文件必须进入了NextCloud的数据库才能被管理起来,NextCloud提供了命令行工具,扫描指定目录的所有文件和目录加入到其数据库中,但是每次目录有变化都需要重新扫描,不是太友好。直接放弃。
H5AI就没有尝试,主要发现该软件多年未更新。
最后FileRun,从软件的主页上面就看到了不需要导入文件的介绍:
使用docker镜像安装,网上其他资料都是介绍的使用docker-compose安装的,这里我本机已经有mysql的容器在运行了,因此直接使用docker run启动FileRun容器:
docker run -d \ --name filerun \ -p 8080:80 \ -v /opt/filerun/html:/var/www/html \ -v /media:/user-files \ -e FR_DB_HOST=yourdbhostip \ -e FR_DB_PORT=3306 \ -e FR_DB_NAME=filerun \ -e FR_DB_USER=filerun \ -e FR_DB_PASS='yourdbpasswrod' \ -e APACHE_RUN_USER=www-data \ -e APACHE_RUN_USER_ID=33 \ -e APACHE_RUN_GROUP=www-data \ -e APACHE_RUN_GROUP_ID=33 \ afian/filerun
其中/media是HomeNAS希望被管理的文件的根目录。使用superuser:superuser登录后,修改默认密码,完美呈现出media目录的所有文件。所有的文件相关操作均可在FileRun的WEB客户端上面操作。也能使用链接分享文件或者目录。访问分享链接的客户能在页面上一键打包下载所有文件,也能单个下载某个文件。