首页/新闻资讯/正文详情

Alist Docker部署与WebDAV网盘聚合实践指南

发布时间:2026/11/2 16:55:40 来源:云帆数科 栏目:资讯中心
Alist Docker部署与WebDAV网盘聚合实践指南
多个网盘、一块 NAS、一台常年不关机的小主机加上手机、平板、电视盒子这套组合放在一起最先崩掉的东西往往不是硬件而是找文件这件事。同一个文档在三个地方各存了一份去年存的照片在某个网盘 App 的第四级目录里电视上想看个视频还得先下载到 U 盘再插上去。Alist 这类工具能火起来根子上就是因为它把这种散落状态收敛成了一个入口——跑起来之后给你一个网页所有接进来的存储变成一棵统一的目录树浏览器能翻、播放器能读、其他设备能挂载成磁盘。这篇内容面向的是想在自己机器上把 Alist 跑起来、并且真正用起来的人。完全没接触过的可以照着走一遍踩过坑想查漏补缺的可以直接跳到部署选型和问题排查那两节。需要先把一件事讲清楚Alist 不是网盘客户端也不是下载器它的定位是文件列表服务 协议网关标题里的下载更多是指下载安装包、拉取镜像、以及通过它把文件取回本地这一整套动作。搞清楚这个定位后面很多配置为什么那么设计就顺了。1. 先把 Alist 是什么讲透再谈怎么装1.1 它的技术形态一个单文件程序加一个网页很多人第一次接触会以为 Alist 是个云端服务其实它是彻头彻尾的自建程序。后端用 Go 写编译出来就是一个可执行文件没有任何运行时依赖扔到 Linux、Windows、macOS、甚至路由器上都能直接跑。前端是一套静态页面由后端一起提供。数据层默认用 SQLite一个data.db文件就是全部内容数据量大或者多人使用时可以换成 MySQL 或 PostgreSQL。程序启动后会读同目录下的config.json里面有数据库连接串、监听端口、JWT 密钥、日志级别这些。所有存储的配置、用户信息、访问记录都存在数据库里不在配置文件里。这个划分很关键备份的时候要备份的是整个 data 目录不是只拷一个 json。我第一次迁移就只拷了 config.json结果登录进去所有挂载全没了重新配了一遍那一次之后我养成了定时打包 data 目录的习惯。它的核心抽象只有一个概念挂载路径。每个存储驱动都被挂到某个虚拟路径上/是根你可以挂/本地影视、/团队文档、/归档照片路径随便起不用和真实目录名一致。用户看到的是一棵虚拟树背后可能是本地磁盘、某个 WebDAV 服务、一个 S3 桶或者某家网盘通过官方开放接口暴露出来的空间。这层抽象带来的好处是换存储不用改使用习惯用户的书签、播放器的播放列表、挂载的盘符全都不用动。1.2 四类真实场景看看你在不在里面第一类是多存储聚合。手上有一块 NAS 做冷备、一块移动硬盘做素材库、再加上几个网盘的免费额度Alist 把它们都挂进来用一个搜索框跨存储找文件。这个场景的收益不是省事是省心——你不用再记那份合同到底在哪个盘。第二类是给播放器和电视用。Alist 自带 WebDAV 服务端开启之后电视盒子上的播放器、手机上的文件管理器、电脑上的播放软件都能把它当成一个标准 WebDAV 源。视频不用下载直接在线拉流还能记住播放进度。这是它最出圈的一个用法也是我用得最多的一条。第三类是临时的文件中转。给外部同事传一批文件不想让他们登录你的存储就建一个只读的访客账号或者直接生成一条带密码和有效期的分享链接。比起用即时通讯软件发压缩包这条路径在几十上百兆的素材上体验好太多。第四类是给内部系统做文件后端。Alist 有一套完整的 HTTP API也有 WebDAV一些小型的内部工具会把它当成文件存储层上传下载都走它的接口省得自己写一套文件管理。1.3 哪些情况别硬上提前劝退有一种情况我见过不少人绕弯路只想在手机上看自己网盘里的视频。如果就这一个需求Alist 属于杀鸡用牛刀中间加了一层转发播放器兼容性还得调直接用网盘官方客户端或者官方的 TV 版反而更省事。还有一种指望它突破任何服务商的限制。这个念头要不得Alist 只是把接口包装了一下底层能跑多快取决于对方给多少。用非官方手段接入第三方网盘接口一方面随时可能失效另一方面账号风险自己承担。合规、正规地使用开放接口是长期跑下去的前提。最后一种是完全不懂命令行、也没有任何一台常开设备。Alist 需要一个持续运行的载体电脑关机它就没了。如果没有 NAS、没有小主机、没有云服务器那这套东西的价值会大打折扣。装之前先想清楚它跑在哪比装的时候纠结参数重要得多。2. 部署方式怎么选三条路和一张对比表2.1 三种主流装法各自适合谁一键脚本安装是最省事的。官方提供了一段安装脚本执行完它会自动下载最新二进制、注册成系统服务、配好开机自启。适合的场景是干净的 Linux 服务器你只想要一个能跑的服务不想碰容器。缺点是升级要重新跑脚本而且它默认把文件放在/opt/alist路径写死在服务文件里想挪地方得手动改。Docker 部署是我最推荐的。镜像里已经把运行环境打好了数据目录挂出来端口映射出去升级就是拉新镜像重启容器回滚就是换回旧 tag。更实际的一点是——它天然隔离你不用担心程序和系统里其他东西抢依赖。我在三台不同发行版的机器上都用这套从来没遇到过环境问题。二进制直接运行适合桌面系统试水。Windows 上双击 exe 就能起macOS 和 Linux 解压后./alist server也行。这种方式的好处是能直观看到日志和文件结构适合先摸清楚它怎么工作再决定要不要正式部署。缺点是关掉终端就停了不适合长期跑。2.2 为什么我把 Docker 排在第一除了升级方便还有一个容易被忽略的点权限可控。本地磁盘挂载进容器的时候如果容器内的用户 ID 和宿主机上文件的所有者不一致Alist 就会读不到或者写不进去表现是目录能列出来但打开报错。Docker 部署时可以通过PUID和PGID环境变量指定容器内进程以哪个身份跑和宿主机上的用户对齐之后权限问题一次解决。用二进制直接跑反而容易在这里翻车因为它的运行身份取决于你用哪个用户启动。数据目录映射也要说清楚。容器里的/opt/alist/data是全部数据所在必须挂到宿主机的一个持久目录否则容器一删数据全丢。我一般放在/etc/alist或者/opt/alist/data前者偏配置、后者偏数据看个人习惯。真正重要的只有两点这个目录在宿主机上是持久的并且有备份。2.3 端口和目录的规划别等冲突了才改默认监听端口是5244。如果这台机器上已经跑了别的东西先查一下占用ss -lntp | grep 5244 # 或者 lsof -i:5244没有输出就说明空闲。真占用了也别慌容器部署的话把映射改成15244:5244就行宿主机端口换了容器内不变WebDAV 路径依然是/dav。这里有个小坑改了宿主机端口之后Alist 后台里生成的分享链接、WebDAV 地址里带的还是旧端口需要到站点设置里把站点 URL改成新的外部访问地址不然生成的链接点开是 404。本地磁盘映射目录也要提前想好。如果你要把宿主机上的/mnt/disk1/影视挂进容器compose 里就得写- /mnt/disk1/影视:/mnt/disk1/影视两边路径保持一致最省心。容器里看到的路径和宿主机一样你在后台填路径的时候不容易写错。这个细节很小但我见过太多人栽在这上面——宿主机路径写对了容器里没映射结果 Alist 报路径不存在。2.4 三种方式横向对比维度一键脚本Docker二进制直跑上手难度低中低升级成本重跑脚本拉镜像重启手动替换文件环境隔离无强无权限调试中等可指定 UID取决于启动用户数据位置固定 /opt/alist自定义映射当前目录适合长期运行是是否适合试水否一般是3. 从零跑起来完整部署实操3.1 环境检查这几步别省先在目标机器上确认 Docker 和 Compose 都装了docker --version docker compose versionCompose 现在是插件形式命令是docker compose有空格不是老版本的docker-compose有横线。这两个混用是很常见的报错来源写出docker-compose: command not found的时候先看是不是这个原因。接着确认磁盘空间。Alist 本身很小几十兆但它会存元信息、缩略图缓存、日志长期跑下来也会占几百兆。给它留个 2G 以上的空间比较稳妥df -h最后确认时区。默认镜像里是 UTC日志时间会差八小时看着很难受。加一个TZAsia/Shanghai环境变量就解决了属于加一次终身受益的配置。3.2 编写 compose 文件并启动找一个目录比如/opt/alist新建docker-compose.ymlservices: alist: image: 官方镜像地址:latest container_name: alist restart: unless-stopped ports: - 5244:5244 volumes: - /opt/alist/data:/opt/alist/data - /mnt/disk1:/mnt/disk1 environment: - PUID0 - PGID0 - UMASK022 - TZAsia/Shanghai镜像地址这一行建议直接去官方仓库的当前页面复制因为镜像名和标签会随版本调整照抄旧教程里的名字经常拉不到。同理PUID和PGID填0是最省事的以 root 身份运行如果你对权限比较在意就填宿主机上某个普通用户的id -u和id -g。启动cd /opt/alist docker compose up -d docker compose logs -f日志里出现监听端口的提示就说明起来了。按CtrlC退出日志跟踪容器还在后台跑。这时候浏览器打开http://机器IP:5244应该能看到登录页。3.3 拿到初始密码并登录新版 Alist 第一次启动时不会在日志里直接打印密码而是随机生成一个。两种拿法# 查看随机生成的初始密码 docker exec -it alist ./alist admin random # 或者直接设一个自己记得住的 docker exec -it alist ./alist admin set 你的新密码用户名默认是admin。登进去之后第一件事就是改密码别拖。我见过有人装完就放着过了两周发现后台多了几个不认识的访客账号——默认配置暴露在公网上就是这样。提示如果执行 admin 命令提示文件不存在先确认容器名对不对docker ps看一眼。容器名在 compose 里是自己起的不一定叫 alist。3.4 登录后立刻要做的四项设置第一改端口或者改访问路径。默认 5244 是全网皆知的扫描器扫这个端口的频率不低。改宿主机映射端口是最快的办法改成五位数的一个随机端口安全收益立竿见影。第二关掉访客访问。后台用户里有个guest账号默认可能带一些目录的读权限。如果你不是要做公开分享站直接把它禁用或者清空权限。第三配置站点 URL。在设置 - 站点里把站点 URL填成你实际访问的地址比如https://files.example.com。这个值影响所有生成的分享链接和 WebDAV 地址填错的直接后果是分享出去的文件打不开。第四确认存储里的Web 下载相关开关。有的存储驱动默认走服务端转发流量全部压在你这台机器上。如果只是自己用、对端又支持直链可以按需调整具体在存储编辑页的WebDAV 策略和下载相关选项里不同驱动的命名略有差异动之前先记下原值。3.5 开机自启、日志和升级restart: unless-stopped已经保证了宿主机重启后容器自动起来除非你手动 stop 过。日志方面docker compose logs --tail200 alist # 看最近 200 行 docker compose logs -f alist # 实时跟踪日志级别可以在后台设置 - 其他里调长期运行建议用info排查问题临时开debug完事记得调回来不然日志文件长得很快。升级我一般手动做节奏是每月看一次有没有新版本cd /opt/alist docker compose pull docker compose up -d升级前一定要先备份 data 目录。跨大版本升级偶尔会有数据结构调整备份是唯一的安全绳tar -czf /root/alist-data-$(date %F).tar.gz -C /opt/alist data4. 挂载存储把各种空间接进来4.1 添加存储的统一套路后台左侧存储-添加会弹出一个表单。不管选哪种驱动填的东西可以归成四类挂载路径这个存储挂在虚拟树的哪个位置比如/影视。必须以斜杠开头不能和已有路径重复。我习惯按用途分层/媒体/电影、/媒体/剧集、/文档/合同后期好管。驱动下拉选类型本地存储、WebDAV、S3 兼容对象存储、FTP/SFTP 等等。配置项每个驱动不一样本地存储填根文件夹路径WebDAV 填地址和账号S3 填 endpoint、bucket、密钥。排序和备注多存储时排序值决定目录里谁在前备注只是给自己看的。填完点保存回到首页刷新路径出现了就成功了。没出现就是配置有问题去存储列表看状态会显示具体错误原因。注意挂载路径最后不要带斜杠/影视是对的/影视/有时候会导致目录列表异常。这个坑不常见但确实存在。4.2 本地存储路径和权限是全部问题本地存储的配置项只有一个核心根文件夹路径。填容器内能访问到的绝对路径比如/mnt/disk1/影视。前提是这个路径在 compose 的 volumes 里映射过否则容器里根本看不到。权限是第二个坎。表现通常是目录能列出来点进文件报permission denied或者上传失败。原因是容器内进程身份和宿主机文件所有者不匹配。两种解法把PUID/PGID改成宿主机文件所有者对应的值或者在宿主机上把目录权限放开chown -R 1000:1000 /mnt/disk1/影视 chmod -R 755 /mnt/disk1/影视第三种情况更隐蔽SELinux 或者某些发行版的 AppArmor会拦住容器访问宿主机目录报错信息看起来像路径不存在。这种时候先临时关掉安全模块验证一下确认是这个原因再针对性加规则别急着改程序配置。还有一个细节值得说Alist 会对目录做索引和缓存。第一次进一个几万文件的目录会明显卡一下之后就好了。如果你挂的是移动硬盘这种偶尔插拔的记得在后台把这个存储禁用不然每次启动都会尝试连接、超时报错。4.3 WebDAV 接入把另一个 Alist 或者 NAS 挂进来WebDAV 驱动的配置项是地址、用户名、密码。地址填到根比如http://192.168.1.10:5005/dav别带子目录。用户名密码填对端的账号。这里有两个常见的坑。一是地址末尾的/dav不能漏漏了会返回 404报错信息看起来像账号密码错误容易误判。二是对方如果开了访问策略限制比如只允许特定 User-Agent那你会一直认证失败。这种情况下换个驱动类型或者调对方的白名单。WebDAV 挂载还有一个隐藏的价值它可以用来做级联。比如你有一台机器在内网另一台在外面中间用一段可信链路连起来外网那台就可以通过 WebDAV 把内网的文件树读进来不需要每个存储都单独配一遍。4.4 S3 兼容对象存储备份和冷数据的好去处对象存储的配置项多几项Endpoint、Bucket、Access Key、Secret Key、区域有些服务不需要、根路径。填完保存如果能列出来就通了。这个驱动我主要用于两件事一是把重要文件的冷备份放上去二是给一些静态资源做分发。对象存储的好处是不占本地磁盘、按量计费、访问走的是对象存储自己的带宽压力不会全落在你这台小机器上。需要注意的是路径风格。有些兼容服务用bucket.endpoint这种虚拟主机风格有些只支持endpoint/bucket这种路径风格Alist 里有对应开关选错了会报bucket not found之类的错误。这个问题在自建的对象存储上特别常见我第一次配的时候在这上面耗了快一个小时。4.5 网盘接入走官方开放接口别碰野路子主流网盘现在大多提供官方的开放接口或者 WebDAV 能力Alist 对其中一部分做了适配。接入方式通常是选择对应驱动、按提示做授权、把拿到的凭证填进去。有些是 OAuth 授权流程点一下跳转确认就完事有些需要手动填 token那就得按官方文档的流程去申请。这里必须强调一点只走官方提供的合法接口。网上流传的一些破解接口第三方中转短期看着能用实际上要么随时失效要么把你的账号凭证交到了别人手里。我在自己的机器上从来不碰这类东西一是账号安全二是不想哪天早上起来发现整个存储全红。凭证过期是这类存储的常态。表现是刷新目录时报授权失败重新走一遍授权流程就好。有些驱动支持自动刷新有些需要手动具体看驱动说明。我一般会把这个存储的备注写成每季度检查一次授权提醒自己别等到用的时候才发现挂了。4.6 挂载失败的通用排查顺序现象最可能的原因处理方式保存成功但首页无目录挂载路径冲突或被禁用检查路径是否重复、存储是否处于启用状态目录能列出打开报错权限不足或路径映射缺失核对容器 volumes、宿主机文件权限一直转圈后超时目标地址不通在容器内curl一次目标地址报认证失败账号密码错、token 过期重新走授权核对地址是否漏了/dav报 bucket not found路径风格选错切换虚拟主机/路径风格开关上传失败但下载正常目标存储只读或空间满检查写权限和剩余容量5. 让它真正好用进阶配置5.1 开启 WebDAV把播放器和文件管理器接上后台设置 - 全局里有个 WebDAV 开关打开之后访问地址是http://你的地址:端口/dav。账号密码就是你登录 Alist 的那套。接电视盒子上的播放器时添加网络存储协议选 WebDAV地址填上面那个端口填 5244或者你改后的端口路径留空或者填/。连上之后你会看到整棵虚拟树包括那些挂在后面的网盘。这是整个 Alist 体验里最爽的一环——视频不用下载直接拖进度条。有一个参数值得调WebDAV 策略。在存储的编辑页里通常有使用 302 重定向使用服务端转发仅 WebDAV这几个选项。302 重定向的意思是客户端直接去源地址拉文件不经过你这台机器速度快、机器压力小但对客户端的兼容性要求高服务端转发是全部流量过一遍 Alist兼容性好但吃带宽。我的做法是家里局域网用的存储选 302公网访问、客户端比较老的场景选转发。5.2 挂载成本地盘像本地文件夹一样用Windows 上映射网络驱动器资源管理器右键此电脑-映射网络驱动器地址填http://IP:5244/dav勾选使用其他凭据连接输账号密码。第一次连可能会提示不安全连接因为走的是 HTTP这个后面加 HTTPS 就解决了。macOS 用访达的前往 - 连接服务器输入同样的地址。Linux 用davfs2或者直接rclone mount。rclone 的方案更灵活可以设缓存大小、只读、开机自动挂载配置文件大概是这样rclone mount alist:/ /mnt/alist \ --allow-other \ --vfs-cache-mode writes \ --vfs-cache-max-size 2G \ --daemon--vfs-cache-mode writes这个参数很关键。不加的话很多程序尤其是编辑器和办公软件在保存文件时会报错因为它们习惯先写临时文件再重命名而 WebDAV 对这类操作支持得不好。加上之后写操作会先在本地缓存里完成再上传兼容性提升一大截。代价是需要预留缓存空间。注意--allow-other需要系统开启user_allow_other否则会报权限错误。改/etc/fuse.conf取消对应行的注释即可。5.3 多用户、权限和分享链接Alist 的用户体系不复杂但够用。每个用户可以设置基础路径只能看到某个子树、权限读、写、删、建目录、是否允许访问隐藏文件。给家人开一个只读账号基础路径指向/媒体他们就看不到你的文档区。分享链接这块可以在任意文件或目录上右键分享设置有效期和提取码。分享出去的是个短链对方不用登录。同样的建议只分享你有权分享的内容别把别人给你的资料随手转出去。有一个细节很多人没注意分享链接的有效性依赖站点 URL配置正确。如果那个值填的是localhost或者内网 IP生成出来的链接在外面打不开。这就是前面 3.4 里强调要改它的原因。5.4 元信息、缩略图和索引决定好不好看Alist 支持给视频加封面、给音乐加歌词、给文件夹加说明靠的是同目录下的元信息文件。视频封面一般是同名的图片文件音乐歌词是同名的.lrc。配上之后网页端列表会好看很多尤其是影视库。缩略图方面图片的缩略图由前端生成视频的缩略图需要服务端有ffmpeg。如果你用的是 Docker 镜像官方镜像里通常已经带了如果是二进制自己跑得单独装。没装的表现是视频只显示一个默认图标不影响播放。索引这个选项在存储配置里作用是让搜索能覆盖到这个存储。关掉能省内存但你就搜不到里面的文件了。文件量大的存储建议开着第一次索引会慢后面是增量的。5.5 用 Nginx 统一入口并加上 HTTPS直接用IP:端口访问有两个问题地址难记以及 HTTP 明文传输。前面挂一台 Nginx 就都解决了。核心配置大概是这样server { listen 443 ssl; server_name files.example.com; ssl_certificate /etc/nginx/cert/fullchain.pem; ssl_certificate_key /etc/nginx/cert/privkey.pem; client_max_body_size 0; location / { proxy_pass http://127.0.0.1:5244; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_read_timeout 3600s; proxy_send_timeout 3600s; } }几个参数必须解释一下。client_max_body_size 0是取消上传大小限制默认 1M不改的话大文件上传直接 413。proxy_read_timeout和proxy_send_timeout调到 3600 秒是因为大文件传输往往超过默认的 60 秒超时会被掐断表现是下载到一半中断。X-Forwarded-For这几个头是让 Alist 能拿到真实客户端 IP不然访客记录里全是127.0.0.1。提示加了 HTTPS 之后记得把后台的站点 URL同步改成https://开头否则又是那个分享链接打不开的老问题。5.6 离线下载能用但要知道边界Alist 内置了对下载器的对接能力可以挂一个下载工具做离线任务。配置位置在设置 - 其他里填上下载器的地址和密钥。配好之后可以在网页上直接提交任务文件下完自动出现在对应目录里。这块我建议只用在自己有权限的内容上比如自己的备份、公开授权的资源。另外注意下载器的磁盘路径和 Alist 看到的路径要一致不然任务完成了文件消失了——其实是存到了另一个地方。6. 问题排查实录这些坑我基本都踩过6.1 网页打不开先从三层往下排第一层容器在不在。docker ps看状态如果是Restarting就是启动失败去看日志。常见原因是端口被占用、数据目录权限不对、compose 文件缩进错。第二层端口通不通。在本机curl -I http://127.0.0.1:5244通了说明服务正常问题在网络层。不通就是服务没起来或者监听地址不对。第三层外部能不能到。从另一台机器curl或者telnet IP 5244。不通的话查防火墙# 查看规则 iptables -L -n | grep 5244 # 或者用 firewalld firewall-cmd --list-ports云服务器还要看安全组这一层经常被忘掉——本机怎么测都通外面就是进不来八成是安全组没放行。6.2 密码忘了或者登录不上最直接的办法是用命令行重置docker exec -it alist ./alist admin set 新密码如果提示用户不存在说明数据库里的 admin 被改过名字用random子命令会打印出当前所有管理员账号信息照着改就行。还有一种情况是能输密码但一直跳回登录页。这通常是 Cookie 或者站点 URL 的问题。清一下浏览器缓存检查站点 URL是否和实际访问地址一致协议、域名、端口三者都要对。我遇到过一次站点 URL 填的是http://实际用https://访问登录状态死活保持不住。6.3 存储挂载失败的定位方法先看错误提示Alist 在存储列表里会直接显示失败原因这个信息比日志还直接。常见几类dial tcp: i/o timeout是网络不通在容器内curl一次目标地址验证。容器内的网络和宿主机不一定一样尤其是用了自定义网络或者有 DNS 问题的时候。401 Unauthorized是认证问题核对账号密码注意 WebDAV 地址有没有漏/dav。no such file or directory是路径问题先确认容器里能不能ls到那个路径docker exec -it alist ls /mnt/disk1列不出来就是 volumes 没映射对。permission denied是权限问题回去看 4.2 那一节。6.4 视频卡顿、拖不动进度条这个问题的原因通常不在 Alist 本身而在链路上。判断方法本地局域网播放同一个文件卡不卡不卡说明是公网带宽的问题本地也卡那就是存储本身或者转发策略的问题。如果是公网访问先确认 WebDAV 策略是不是 302 重定向。重定向模式下客户端直连源地址速度取决于源站转发模式下所有流量过你的机器速度取决于你这台机器的上行带宽。家用宽带上行通常很小转发模式下看高码率视频必然卡。还有一个容易忽略的点播放器的缓存设置。有些播放器默认缓存很小拖动进度条时会重新请求表现为拖一下卡三秒。把缓存调大能明显改善。6.5 升级之后出问题怎么退升级前备份 data 目录出问题就把目录换回去然后指定旧版本镜像重新起docker compose down tar -xzf /root/alist-data-2025-01-01.tar.gz -C /opt/alist # 修改 compose 里的镜像 tag 为旧版本 docker compose up -d所以我的建议是镜像 tag 不要无脑用latest可以用具体的版本号升级时改数字回滚时改回来比拉一个不知道是什么的latest可控得多。7. 长期运行的几个硬要求7.1 别让它裸奔在公网上这是我最想强调的一条。Alist 一旦暴露在公网扫描器几小时内就能找到你。要做的几件事改掉默认端口、用强密码、开 HTTPS、关掉访客账号、给每个账号设下载速度上限。有条件的话再加一层访问控制只允许特定来源访问或者干脆只在内网用出门靠一条可信通道连回来。后台还有登录失败次数限制和单 IP 请求频率限制都建议打开。这类防护不解决根本问题但能把大部分自动化尝试挡在门外。7.2 备份只认 data 目录前面说过配置和用户数据都在data目录里SQLite 模式下是data/data.db。备份策略我一般这样每天凌晨打包一次保留最近七天扔到另一个物理位置。脚本很简单#!/bin/bash DATE$(date %F) tar -czf /backup/alist-$DATE.tar.gz -C /opt/alist data find /backup -name alist-*.tar.gz -mtime 7 -delete扔进 crontab 就完事。这套东西的价值不在于备份本身而在于某天你误删了一个存储配置、或者升级把数据搞坏了能在十分钟内恢复。7.3 升级节奏和监控我的节奏是每月看一次更新小版本直接升大版本先看更新说明有没有破坏性改动。升级窗口选在不用的时候升完立刻验证三件事能登录、存储列表全绿、随便打开一个文件能下载。监控方面不用搞得很复杂一个定时 curl 就够了*/5 * * * * curl -sf http://127.0.0.1:5244/ /dev/null || echo alist down | mail -s alert youexample.com返回非 200 就发通知。比装一整套监控系统轻量得多对个人自建服务来说够用了。我在几台机器上跑了两年多最大的体会是这套东西的稳定性取决于你有没有把边界划清楚。跑在内网、只给自己和家人用、存储全部走官方接口、定期备份——满足这四条它就是个几乎不用管的工具。反过来为了多功能去接一些来路不明的接口、为了省事把后台直接扔在公网上、升级前不备份那迟早要花一个周末去收拾。还有个小技巧分享一下把常用的几个路径做成浏览器书签命名成影视文档备份比每次都从根目录点进去快得多。另外给每个存储写一条备注记清楚它是哪个账号、什么时候授权的、下次该什么时候检查半年后再看的时候能省掉大量回忆的时间。

相关推荐

偏度峰度解析:均值方差之外的数据分布形状与厚尾风险判断
偏度峰度解析:均值方差之外的数据分布形状与厚尾风险判断

很多人在做数据体检的时候,第一页永远只写均值、标准差、最大最小值,然后就直接下结论说"这批数据没问题"。我见过不止一次这样的评审现场:两组数摆在一起,均值和方差几乎一模一样,可把直方图画出来&#xf… · 2026/11/2 16:55:40

Alist 多存储目录聚合:Docker部署与挂载排错指南
Alist 多存储目录聚合:Docker部署与挂载排错指南

第一次折腾 Alist 的起因很朴素:手上三台设备、两个网盘账号、一块挂在路由器上的移动硬盘,找一份文档得先回忆它到底躺在哪儿。Alist 恰好就是治这个毛病的工具——它本身不存文件,本质是一层“目录聚合”,把本地目录、各类云盘、… · 2026/11/2 16:55:40

Web自动化测试中的元素定位与交互技术详解
Web自动化测试中的元素定位与交互技术详解

1. 页面元素模拟操作的核心概念在Web开发与自动化测试领域,页面元素模拟操作是指通过编程方式对网页中的DOM元素进行识别、定位和交互的技术手段。这种技术最早可以追溯到2004年W3C发布的DOM Level 3事件规范,但直到近年来随着RPA(机器人流程… · 2026/11/2 16:54:38

MPU-60X0六轴芯片九轴输出:量程、DMP、FIFO与总线踩坑
MPU-60X0六轴芯片九轴输出:量程、DMP、FIFO与总线踩坑

简介:《MPU-6000 / MPU-6050 产品说明书》中文翻译版是一份面向嵌入式硬件工程师、飞控与机器人开发者的传感器手册,针对英文原版阅读门槛高、寄存器与引脚细节难懂的问题,只翻译了实际开发中用得上的部分。内容覆盖芯片整体架构、DMP 数字运… · 2026/11/3 3:54:38

逆向拆解能力:从结果反推决策链,把别人经验变成自己起点
逆向拆解能力:从结果反推决策链,把别人经验变成自己起点

不知道从什么时候开始,我判断一个人有没有“手感”,只用一把尺子:给他一个好结果,看他能不能倒推出它怎么来的。这说的就是 reverse-skill,逆向拆解的能力。看到一篇爆款文章,普通人会想“写得好”&#xf… · 2026/11/3 3:54:38

hidetoolz 3.0:绿色工具集整理与打包分发实践
hidetoolz 3.0:绿色工具集整理与打包分发实践

1. 先想清楚:一个自用工具箱为什么要做到 3.0我这几年有个习惯,电脑里始终放着一个自建的工具目录,名字换过几次,最早叫tools,后来改成toolbox,现在固定叫hidetoolz,版本号一路推到 3.0。说白了… · 2026/11/3 3:54:38

消费品牌如何构建系统性烙印体系提升认知度
消费品牌如何构建系统性烙印体系提升认知度

1. 为什么消费品牌需要系统性烙印体系?在消费品市场高度饱和的今天,消费者每天接触的品牌信息超过5000条。我服务过的一个新锐茶饮品牌,首月营销投放费用高达300万,但消费者调研显示品牌记忆度仅为12%。这个残酷的现实让我意识到&… · 2026/11/3 3:54:38

以太网供电POE实战指南:从选型到部署的避坑心得
以太网供电POE实战指南:从选型到部署的避坑心得

以太网供电这个话题,我最早接触是在一个安防监控项目里。当时甲方要求所有摄像头“只走一根线”,我第一反应是这怎么可能——又要供电又要传数据,难不成还得在弱电箱里塞一堆插座?后来被现场逼着把POE这套东西从头啃了一遍&#x… · 2026/11/3 3:54:38

Level-2全推行情Python SDK部署避坑:多市场订阅与版本对齐
Level-2全推行情Python SDK部署避坑:多市场订阅与版本对齐

简介:《同花顺level-2全推行情Python API操作手册》面向高频交易与量化开发者,尤其适合做涨停板、盘口异动类策略的研究与工程人员,用来解决Level-2行情如何借助Python稳定接入、按字段准确解析的落地问题。资料是单个PDF文档,压缩… · 2026/11/3 3:53:38

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码