AList的开源替代:OpenList
前言
前一阵 Alist 的商业化事件闹的挺大,尽管商业化在一定程度上是为了维持项目的长期发展,但过程还是引发了广泛的争议和担忧。主要是原开发者在未充分告知的情况下出售了项目,剥夺了社区成员的知情权和选择权。同时也没有明确说明商业化版本与开源版本之间的区别,没有给存量用户足够的时间来迁移,严重违背了开源社区的核心价值观:信任和透明。
作为普通用户,我们更关心的是 Alist 的开源替代,目前看来,最可靠的继任者可能就是 OpenList
什么是 OpenList ?
OpenList是一个支持多存储的文件列表程序,使用Gin框架和Solidjs库,基于AList项目fork开发,是一个更可信、可持续的AList开源替代方案。
目前 OpenList 已经发布了 4.0 正式版,但依然存在一些已知问题,不过大部分功能已可稳定使用,具体迁移进度可在 OpenList 迁移工作总结 中查看。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 openlist ,选择第一个 openlistteam/openlist,版本选择 latest。
本文写作时,
latest版本对应为v4.0.1;

卷
在 docker 文件夹中,创建一个新文件夹 openlist,并在其中建两个子文件夹 data 和 share

| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/openlist/data |
/opt/openlist/data |
存放设置等 |
docker/openlist/share |
/opt/openlist/share |
用作本地存储 |
如果你不打算用群晖的本地存储,可以只映射 data 卷,用于存放设置文件和数据库

如果你打算启用群晖的本地存储,需要先映射才能更方便的从容器中使用,但是考虑到容器内外用户的差异,建议映射空的文件夹而不是已经有文件的,避免出现权限问题

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
5244 |
5244 |
默认暴露了两个端口,其中
5244端口是http协议;5245端口是https协议;

用不上的可以删了

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 openlist 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 openlist 和 子目录 |

运行
在浏览器中输入 http://群晖IP:5244 就能看到主界面

第一次运行,管理员 admin 的初始密码,可以在日志中找到

用命令 docker logs openlist 也是可以的

更多获取密码的方法或者软件使用可以参考老苏之前写的 AList 的相关部分
文章传送门: 支持本地挂载的网盘文件列表工具AList
升级安装
如果之前安装过 Alist,只要修改两处:
- 镜像名从
xhofe/alist改为openlistteam/openlist - 映射的容器内的路径,由
/opt/alist/改为/opt/openlist/
运行之前,最好对原来的数据进行一次备份
运行之后,原来怎么使用,现在还是一样的
参考文档
OpenListTeam/OpenList: A new AList Fork to Anti Trust Crisis
地址:https://github.com/OpenListTeam/OpenListHome | OpenList 文档
地址:https://docs.oplist.org/zh/Home | OpenList Docs(临时)
地址:https://openlistteam.github.io/docs/支持本地挂载的网盘文件列表工具AList | 老苏的blog
地址:https://laosu.tech/2022/12/09/支持本地挂载的网盘文件列表工具AList