Docker搭建Alist的代替者OpenList
摘要
AList 因维护者变更及疑似数据收集引发信任危机,社区推出了开源替代品 OpenList。OpenList 强调代码透明与安全,界面与 AList 相似,迁移成本低。本文介绍了其 Docker 部署方法、安全配置建议(如权限设置、密码管理)以及从 AList 平滑迁移的正确步骤,建议先并存验证再切换。
前言
在 NAS / 服务器上搭一个统一网盘入口,很多人第一反应是 AList——它能把阿里云盘、夸克、OneDrive、本地文件夹等五花八门的存储挂到一个界面下,确实好用。但最近 AList 的变动让不少老用户心里打鼓。
事情的起因是:知名开源网盘工具 AList 因代码频繁变动、社区架构大幅调整,引发了广泛关注与质疑。原项目维护者已不再活跃于社区,并公开表示项目已由企业接手运营;他同时承诺会继续协助审核代码安全、确保开源版稳定。

然而,部分社区成员通过分析提交记录发现,新维护方疑似在代码中引入了用户数据收集行为,这直接触动了大家对隐私与安全的敏感神经。于是,AList 的一部分核心用户与开发者迅速响应,发起了一个新的开源替代项目——OpenList。

先说清楚:这一次"信任危机"到底在争什么
花一分钟把这层讲透,比直接抄部署命令有价值——因为它决定了你该不该换、换了要注意什么。
网盘聚合工具是极其特殊的一类软件:它要同时持有你所有云盘账号的凭据(token),还要能读写你的文件。换句话说,它天生就是"钥匙串"的角色。所以它的社区对"代码里有没有多余的网络请求"这件事,敏感度远高于一般项目。
这次争议的几个核心事实:
争议点 | 情况 | 对用户的实际影响 |
|---|---|---|
维护者更替 | 原作者不再活跃,项目由企业接手 | 治理结构变了,但代码是否变差要看具体提交 |
疑似数据收集 | 社区成员从提交记录中提出质疑 | 若属实,理论上能拿到你的账号信息 |
私有 API | 原项目部分 API 来源不透明、不可审计 | 你无法确认它请求了什么 |
作者表态 | 承诺协助审核代码、保证开源版稳定 | 属于善意信号,但不等于审计结论 |
需要说明的是:"疑似"就是疑似,这里不做定论。但作为使用者,判断逻辑很清楚——这类工具的信任基础是"代码可被审计",一旦这个基础被动摇,理性的做法就是换一个代码可查、社区活跃的实现,而不是等一个最终结论。
OpenList 的应对方式也正因为这点才显得有说服力(见下)。
OpenList 是什么?
OpenList 旨在成为 AList 的可信继任者,强调开放、透明与可持续发展。项目开源后迅速获得社区认可,短时间内就累积了超 5600 个 star。团队着手做了两件大事:
替换不透明的 API——把原项目里那些来源不明的私有 API 逐步换成开放、可审计的实现;
移除可能存在风险的外部链接——降低被劫持或收集数据的隐患。
为了确保代码安全,OpenList 开发者还对过去半年内的所有提交做了逐行审查。结果显示,除了原作者使用的私有 API 仍需替换外,尚未发现其他明显的安全隐患:

📌 背景小结:OpenList 的出现,既给原 AList 用户提供了一个可信的替代,也再次体现了开源社区面对项目不确定性时的凝聚力。如果你正被 AList 的隐私疑虑困扰,OpenList 是目前体验最接近、又更透明的接替选择。
界面与使用
好消息是——OpenList 的界面和使用几乎和 AList 完全一样,迁移成本极低,可以直接当成 AList 用,是目前最平滑的替代方案。
本项目 GitHub 地址:https://github.com/OpenListTeam/OpenList

部署方法
用 Docker Compose 安装,配置如下(基本照搬 AList 的习惯,端口、目录可自行调整):
说明:如果你是想从 AList 平滑迁移,把原 AList 的数据目录对应到这里的挂载即可,界面里的存储配置能直接沿用习惯。用
beta尝鲜新功能、latest求稳,按需选择。
保存后
docker compose up -d启动:

首次启动需要配置管理员密码。注意:不同版本的命令不一样,新版是加密存储的 hash,忘记密码无法直接反算,只能重新随机生成或手动设置:

低于 v3.25.0 版本,进入 openlist 数据目录执行:
高于 v3.25.0 版本:密码改为加密的 hash 存储,无法直接反算。忘记密码只能重新设置:
随机生成一个密码:
手动设置一个密码(
NEW_PASSWORD换成你要设的密码):
🔐 安全提醒:强烈建议用新版(3.25.0+)——它把密码加密存储而不是明文,更安全;设完密码后记到密码管理器里,别弄丢,丢了只能重置。
PUID / PGID / UMASK 是什么,为什么老出权限问题
这三个参数是 NAS 上跑容器时最常踩的坑之一,值得花两分钟讲明白。
容器看起来像一个独立的系统,但它挂载的目录是宿主机的目录。于是就有个问题:容器里的进程用哪个"身份"去读写这些文件?
PUID / PGID:指定容器内进程以哪个用户 ID / 用户组 ID 运行。上面写
0表示 root(最高权限)。UMASK:新建文件时的默认权限掩码。
022的含义是"新建的文件权限是 755(777减去022)"——即自己可读写执行、别人只能读和执行。
把它们设成 0 / 022 的效果是"不管什么文件都能读写,不会因为权限不足报错",这也是新手教程普遍这么写的原因。但它有两个副作用:
安全性降低:容器内的程序拿到了宿主机 root 权限的读写能力;
文件属主混乱:新建的文件属主可能变成 root,导致你在 NAS 网页端用普通账号删不掉这些文件。
更稳的做法是:把 PUID / PGID 设成你自己 NAS 用户的 UID/GID(飞牛 / 群晖都能查到自己的 UID)。代价是首次可能要手动给已有目录放权:
这是"一次性麻烦"换"长期清爽"的取舍——如果你后面要把这个目录共享给别人用,建议一开始就设对。
初始设置(几点必做)
登录后先修改默认用户名和密码,别留着默认值裸奔:

建议**取消"签名所有"**选项(默认给所有下载链接签名,可能影响某些直链/反代场景,非必需别开):

在 用户 → 编辑 里勾选权限:只给需要的账号开最小必要权限(比如访客只看、不下载大文件、不开上传),降低被滥用风险:

挂哪些存储合适
OpenList 的价值在于"聚合",但并不是什么都往里挂就好。按安全性排一下:
存储类型 | 建议 | 原因 |
|---|---|---|
本地目录 | ✅ 放心挂 | 数据在自己盘上,不涉及第三方凭据 |
自建网盘(如 WebDAV) | ✅ 放心挂 | 凭据可控 |
大厂云盘(阿里/夸克/OneDrive) | ⚠️ 视情况 | 挂上去等于把账号 token 交给它 |
重要账号的主盘 | ❌ 不建议 | 一旦容器被入侵,影响面太大 |
一个实用原则:给 OpenList 挂"愿意承担风险的那部分存储"。用它来看剧、看文档没问题;把网银资料、身份证扫描件的目录挂进去,就没必要了。
从 AList 迁移的正确顺序
这一步做错容易把在用的服务搞挂,按下面来:
先并存,别替换。给 OpenList 换一个端口(比如 AList 用 5244,OpenList 用 5344),让两者同时在线;
复制数据目录(不是移动),让 OpenList 读一份副本;
逐个验证存储源能否正常列出、下载、上传;
观察一两天,确认稳定;
最后再停掉 AList、改端口,把地址切过来。
⚠️ 一定不要一上来就把 AList 的数据目录移走——万一新版读不了旧版的存储配置,你连回滚的余地都没有。
结尾与建议
OpenList 目前是 AList 社区最被看好的"接棒者":界面习惯无缝迁移、代码更透明、隐私顾虑更小。如果你的 AList 还挂着但心里不踏实,或正打算新搭一个统一网盘入口,可以直接从 OpenList 起步。
最后几点建议:
从 AList 迁移前,先在另一台/另一端口跑通 OpenList 并配好一两个存储源,确认稳定再切换,避免影响在用的服务;
存储源里如果挂了多个云盘,账号凭证和 token 是敏感信息,确认 OpenList 的数据目录有做好备份;
保持关注项目更新,beta 版迭代快,遇到问题先看 GitHub issues。
说句题外的:OpenList 这类"把散落的存储/资源收拢到一个入口"的工具,本身就是 NAS 的价值所在。同类的还有这些方向可以配着用:
文件聚合有了,如果你还想把一堆零散的小工具也收进内网,可以看 自建在线工具站 tools-web;
如果收拢的对象是漫画这类特定媒体,那 用 NAS 打造个人本地漫画库 是更垂直的做法。
几个装下来,NAS 才真正从"硬盘"变成了"你自己的服务平台"。
相关文章
暂无相关文章