3.3 KiB
3.3 KiB
安装文档(Phase 1:AList stock 部署)
目标:在 DSM 上跑起全新的 stock AList,与旧 alist 并行,验证后再切换域名。
0. 前置条件(你需独立操作)
这些是你在 DSM / Portainer 上手动完成的部分,agent 无法代劳:
-
确认 NAS 目录存在且就绪:
/volume1/Class、/volume1/Book、/volume1/Comic、/volume1/Template- 若目录名/路径不同,改
docker-compose.yml的 volumes。
-
创建 AList 数据目录(DSM File Station 或 SSH):
/volume1/docker/alist-serve-resource/data /volume1/docker/alist-serve-resource/config /volume1/docker/alist-serve-resource/storage -
确认外部网络
bridge_hoelee存在:- 该网络由 n8n/nocodb 等其他 compose 创建(
external: true)。 - 若不存在,在 DSM 上建:
docker network create bridge_hoelee(或 Portainer → Networks → Add)。
- 该网络由 n8n/nocodb 等其他 compose 创建(
-
准备 secrets:
- 复制
.env.example→.env,填入真实JWT_SECRET、ALIST_ADMIN_PASSWORD等。 - 生成 JWT secret:
openssl rand -base64 32
- 复制
1. 部署(Portainer)
在 Portainer → Stacks → Add Stack:
- Name:
alist-serve-resource - 方式:上传
docker-compose.yml+ 配置环境变量(或把.env内容填入 Environment variables 区)。 - 网络
bridge_hoelee是 external,Portainer 会复用现有网络,不会新建。
Portainer 与
env_file:Portainer Stack 使用内置 Environment variables 区而非.env文件。 把.env里的键值对逐条填进 Portainer 的 Environment variables,或改用 Compose 里的${VAR}语法(Portainer 也支持env_file,可上传.env作为 env_file)。
部署后验证:
docker ps | grep alist-serve-resource
docker logs alist-serve-resource
2. 首次初始化 AList admin
- 访问
http://<DSM-IP>:5247。 - 首次进入会引导设置 admin 账号密码(或 AList 会打印初始 admin 密码到日志:
grep -i admin docker logs alist-serve-resource)。 - 登录后台,确认版本 v3.63.0。
3. 建立 Local Storage
AList 后台 → 存储 → 添加 → 驱动选「本地存储 / Local」:
挂载路径: /Class → 根文件夹路径: /mnt/Class
挂载路径: /Book → 根文件夹路径: /mnt/Book
挂载路径: /Comic → 根文件夹路径: /mnt/Comic
挂载路径: /Template → 根文件夹路径: /mnt/Template
客户看到的逻辑路径是
/Class/...,实际 host 是/volume1/Class/...(规格 §31)。 客户永远看不到/volume1或/mnt。
4. 验证健康检查
docker inspect --format '{{.State.Health.Status}}' alist-serve-resource
# 应输出 healthy
5. 切换域名(后期,新旧并行验证通过后再做)
- 旧 alist(
nginx-limit-alist/traefik-update-alist/alist)保持运行。 - DSM nginx 将
access.hoelee.com新指到http://<DSM-IP>:5247。 - 验证客户能正常登录/浏览/下载。
- 确认无误后,停掉旧 alist 三个 container(先
docker stop,观察,再docker rm)。
6. 后续 Phase
- Phase 2:NocoDB schema(
docs/DATABASE_SCHEMA.md) - Phase 3:n8n + AList API 连接(
docs/N8N_WORKFLOWS.md) - Phase 4–10:客户建档、权限同步、到期同步、审计、监控、备份、文档