前言
因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端口或者不改都可以。
