前言
因alist开源作者已经将项目交由某公司运营维护的情况,想着后续估计不知道有没有啥安全问题,转而使用衍生开源项目Openlist,想着方便管理还是采用docker的形式去安装,我看也有直接覆盖应用商店的alist的文章,大家可以根据自己的需求去选择,本次就按迁移至docker-compose来展开。
如担心Alist的安全问题,请到各个网盘对alist取消授权,参考openlist官方文档:https://doc.oplist.org/guide/migrate
备份
原则上是可以直接复制原来alist的data目录的,但是保险起见,大家先到alist管理的备份&恢复中进行备份下

安装Openlist
创建目录
- 在自己docker的目录新建openlist的配置目录,如:/vol1/1000/docker/openlist
- 在目录下新建data文件夹,用于存放data配置
迁移alist数据
-
找到原来alist的数据目录,进入飞牛22的控制台输入对应命令查看数据目录位置
ps -ef|grep alist

-
可以看到目录为 /vol1/@appdata/alist3(应用商店按转的基本都是这个目录),可以自行查看进程
-
将alist3的数据复制到新的目录/vol1/1000/docker/openlist,也可以使用现在这个目录,但第一次建议还是单独复制出来,避免覆盖掉原来的,导致原来的数据用不了了
cp /vol1/@appdata/alist3/* /vol1/1000/docker/openlist/data/
-
到目录/vol1/1000/docker/openlist/data/查看是否有数据

-
有了数据之后需要更改下config.json文件的目录执行,原来的都是指向/vol1/@appdata/alist3将其全部更改成data


-
然后使用命令给目录进行赋权给用户1001
# 授权用户组
chmod -R 1001:1001 /vol1/1000/docker/openlist/data/
# 授权读写
chmod -R 755 /vol1/1000/docker/openlist/data/
# 查看权限
ls -ld /vol1/1000/docker/openlist/data
-
查看权限执行后,看到是这样的即可

compose安装
-
桌面点击docker,选择compose新建项目

-
选择新建的目录,点击创建docker-compose.yml

# docker-compose.yml
services:
openlist:
image: 'openlistteam/openlist:latest'
container_name: openlist
user: '1001:1001' # Please replace `0:0` with the actual user ID and group ID you want to use to run OpenList.
volumes:
- '/vol1/1000/docker/openlist/data:/opt/openlist/data' # 配置信息
- '/vol1/1000/alist:/mnt/share' # 如果有本地挂载的目录则单独添加一个映射,后续挂载/mnt/share即可
ports:
- '5245:5244' # 前面的为露出端口,建议先改成5245和原来的alist可以同时运行,迁移没问题后改回5244即可
environment:
- TZ=Asia/Shanghai
- UMASK=022
- OPENLIST_ADMIN_PASSWORD= #自己设置的管理密码,不使用变量则去启动日志看随机密码,然后更改掉
restart: unless-stopped
-
保存后进行构建启动
-
如果未设置密码则等待容器起来后查看运行日志,找到随机密码,然后登录,如果是迁移的数据,应该使用原来的用户名密码登录

-
通过ip+端口访问openlist,查看是否信息都同步了,如果一致则代表迁移成功了,可以去应用商店把老的alist停用并卸载了,然后针对docker的openlist可以选择改回5244端口或者不改都可以。
