群晖进阶玩法:Docker全图形界面部署Alist
Alist
一款支持多种存储的目录文件列表程序,支持 web 浏览与 webdav,后端基于gin,前端使用react。
演示站
支持
- 多种存储
- 本地存储
- 阿里云盘
- OneDrive / Sharepoint(国际版, 世纪互联,de,us)
- 天翼云盘
- GoogleDrive
- 123云盘
- 蓝奏云
- Alist
- FTP
- PikPak
- 闪电盘
- S3
- WebDav
- Teambition(中国,国际)
- 分秒帧
- 和彩云 (个人云, 家庭云)
- Yandex.Disk
- 百度网盘
- 夸克网盘
- 迅雷云盘
- 部署方便,开箱即用
- 文件预览(PDF、markdown、代码、纯文本……)
- 画廊模式下的图像预览
- 视频和音频预览(mp4、mp3 等)
- Office 文档预览(docx、pptx、xlsx、...)
- README.md 预览渲染
- 文件永久链接复制和直接文件下载
- 黑暗模式
- 国际化
- 受保护的路由(密码保护和身份验证)
- WebDav(具体见https://alist-doc.nn.ci/docs/webdav )
- Docker 部署
- Cloudflare workers 中转
- 文件/文件夹打包下载
- 支持视频列表播放和字幕(ass,srt,vtt)
- 网页上传(可以允许访客上传),删除,新建文件夹,重命名,移动,复制
文档
安装
本文章仅适用于群晖NAS,并要求正确安装好Docker套件。
下载镜像
进入群晖Docker套件,注册表中搜索alist,选择xhofe/alist
选择latest标签
最后等待镜像下载完成,在Docker-映像中可找到该镜像
部署
双击下载完成的alist镜像创建容器,网络默认即可
这里保持默认即可,也可勾选“通过Web Station启用网页门户”(需要DSM7.1)
如果勾选“通过Web Station启用网页门户”,在创建容器完成后会自动跳转到Web Station配置域名端口等信息,这里不选择这种方式。
配置端口转发
文件夹挂载(后续不手动修改配置这里也可不挂载)
/opt/alist/data
最后启动容器即可
配置文件 - 不修改的可以跳过这一步
首先启动一次容器,让容器生成默认配置文件,随后关闭容器,进入到之前创建容器中所挂载的本地文件夹中,会有个config文件夹
在config中找到Config.json
修改配置文件
-
config.json
- address
- 监听地址
- port
- 监听端口
- assets
- 使用的静态资源位置。这是动态可变化的,现有的静态资源在 npm 和 GitHub 上都有托管,它们的位置分别是:
- https://www.npmjs.com/package/alist-web
- https://github.com/alist-org/assets
- 所以你可以使用任何 npm 或者 github 的 cdn 来作为路径。默认使用饿了么反代的 unpkg 的 cdn(阿里云 cdn):https://npm.elemecdn.com/alist-web@$version/dist/ ,$version在程序中会自动替换为前端的发行版本。在这里列举一些其他的可用的 assets:
- NPM
- jsdelivr npm: https://cdn.jsdelivr.net/npm/alist-web@$version/dist/
- unpkg npm: https://unpkg.com/alist-web@$version/dist/
- pigax jsdelivr npm(腾讯云cdn): https://u.pigax.cn/npm/alist-web@$version/dist/
- pigax unpkg npm(腾讯云cdn): https://unpkg.pigax.cn/alist-web@$version/dist/
- tianli jsdelivr npm(腾讯云cdn): https://cdn1.tianli0.top/npm/alist-web@$version/dist/
- GitHub
- jsdelivr github: https://cdn.jsdelivr.net/gh/alist-org/assets@$version/dist/
- pigax jsdelivr github(腾讯云cdn): https://u.pigax.cn/gh/alist-org/assets@$version/dist/
- tianli jsdelivr github(腾讯云cdn): https://cdn1.tianli0.top/gh/alist-org/assets@$version/dist/
- 本地
- 本地: /
- 自定义
- 两种方法:
- 反代jsdelivr,然后将jsdelivr的npm或者github的cdn中的host换成自己的
- 在https://github.com/alist-org/alist-web/releases 下载编译好的文件放到你的空间上,然后此处的assets填写你存放的位置的链接(到dist/这一级)
- database
- 数据库相关设置
- type
- 数据库类型,可选sqlite3、mysql、postgres
- user
- 数据库用户名
- password
- 数据库密码
- host
- 数据库地址
- port
- 数据库端口
- name
- 数据库名称
- table_prefix
- 数据库表前缀(针对多个应用程序使用一个数据库)
- db_file
- 数据库文件,对于 sqlite3
- ssl_mode
- sqlite3:忽略该参数
- mysql:等同于https://github.com/go-sql-driver/mysql#tls
- postgres: 即同名参数,具体见https://github.com/jackc/pgconn/blob/b7a85d1a6fc58df695e8cf0571ebf4e7dab921d5/config.go#L576
- address
-
上述配置文件说明来自作者文档,详情可参考作者文档:https://alist-doc.nn.ci/docs/setting/config
初始密码
- 初始密码请查看容器日志输出:
添加网盘
启动容器后在浏览器中输入:IP:prot,点击页面方的管理进行后台登录
登录完成找到找到账号
点击添加
选择需要添加的网盘,这里以阿里网盘为例子
红色标信号部分为必填,刷新令牌(refresh_token)获取可扫码获取:https://alist-doc.nn.ci/docs/driver/aliyundrive/
正确添加网盘信息后保存,重新输入IP:prot进入alist首页即可看到网盘内容,其他网盘添加只需按照要求填写所需参数进行添加即可
链接
- 本文部分内容整理修改至作者文档:https://alist-doc.nn.ci/docs/intro
- 演示站:https://alist.nn.ci
- 镜像Docker Hub:https://registry.hub.docker.com/r/xhofe/alist/
群晖进阶玩法:Docker全图形界面部署Alist
http://localhost:8090//archives/%E7%BE%A4%E6%99%96%E8%BF%9B%E9%98%B6%E7%8E%A9%E6%B3%95docker%E5%85%A8%E5%9B%BE%E5%BD%A2%E7%95%8C%E9%9D%A2%E9%83%A8%E7%BD%B2alist-%E7%BD%91%E7%9B%98%E6%8C%82%E8%BD%BD