一、 镜像选择:小雅版 vs 官方原版

对于 1核1G 内存的低配 ARM 设备(如香橙派),镜像的选择决定了系统的稳定性。

1. 小雅 AList (xiaoyaliu/alist) 的局限性

  • 高负载原因:内置了大量预设资源、自动化下载脚本、大型影视索引和刮削配置。
  • 容易崩溃:启动时会通过网络(GitHub)下载大量大文本配置文件。在 1核1G 设备上,极易因瞬时内存不足触发系统 OOM(Out Of Memory)机制而被强制杀死,导致启动脚本中断并报错(例如:mv: can't rename '115share_internal.txt': No such file or directoryjq: parse error)。

2. 官方原版 AList (xhofe/alist) 的优势

  • 轻量高效:纯净无魔改,没有第三方脚本,日常运行内存仅需 30MB - 80MB,CPU 占用极低。
  • 原生 Alpine 基础:官方 latest 标签镜像默认基于 Alpine Linux 构建,解压后体积仅约 90MB。
  • 安全稳定:无网络堵塞引发的死循环重启问题。
⚠️ 标签选择避坑:坚决不要选择 :latest-aio:latest-ffmpeg 标签。这些镜像集成了 ffmpegaria2,在 1核1G 设备上运行离线下载或视频转码会导致 CPU 瞬间满载、系统死机。

二、 极致性能优化配置 (Podman Compose)

针对 1核1G 内存与 SD 卡 IO 瓶颈,官方原版 AList 的极致优化 container-compose.yml 配置如下:

services:
  alist:
    image: docker.io/xhofe/alist:latest
    container_name: alist
    restart: always
    ports:
      - "5244:5244"
    volumes:
      - ./data:/opt/alist/data
      # 极致优化 IO:将高频写入的缓存目录挂载到宿主机内存(tmpfs)
      - /tmp/alist_cache:/opt/alist/data/cache:rw
    environment:
      - TZ=Asia/Shanghai
      - PUID=0
      - PGID=0
      - UMASK=022
    # 资源配额限制,防止暴涨导致香橙派死机
    deploy:
      resources:
        limits:
          cpus: '0.5'         # 限制最多使用 50% 的单核性能
          memory: 150M        # 限制最大内存 150M(原版完全够用)
    # 严格限制容器日志写入,保护 SD 卡空间
    logging:
      driver: k8s-file
      options:
        max-size: "5m"
        max-file: "1"
    networks:
      - podman

networks:
  podman:
    external: true
    name: podman

关键优化点说明:

  1. 内存缓存(减少磁盘 IO):AList 播放或刮削时产生大量临时文件。在香橙派宿主机执行 sudo mount -t tmpfs -o size=100M tmpfs /tmp/alist_cache,再映射给容器。缓存读写完全在内存中进行,速度极快且零 SD 卡损耗。
  2. 日志限制:限制日志最大 5MB 且只保留 1 个,防止磁盘被日志刷爆。
  3. 资源红线:限制 150M 内存和 50% CPU,确保 AList 异常时不会拖死整个香橙派宿主机。

三、 AList 账号密码管理

官方原版 AList 出于安全考虑,首次启动时会随机生成管理员密码。默认管理员用户名为 admin

  • 从日志捕获随机密码

    podman logs alist 2>&1 | grep "password is:"
    
  • 手动强行重置自定义密码(推荐)

    podman exec -it alist ./alist admin set 你的新密码
    

四、 核心功能机制解析:Nginx、IPv6 与 FRP

1. Nginx 依赖与优化

  • 结论:AList 内置 Go 语言原生高性能 HTTP 服务器,不需要自带也不需要额外加装 Nginx。裸跑性能对于 1核1G 设备最好。
  • 反向代理优化(若必须使用 Nginx):必须关闭 Buffer 缓存,防止大文件流媒体传输时吃光内存。

    proxy_buffering off;
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;
    

2. IPv6 支持

  • 配置方式:进入 AList 后台 -> 设置 -> 全局,将“监听地址”从 0.0.0.0 修改为 ::(表示同时监听所有 IPv4 和 IPv6 地址)。
  • 公网安全建议:IPv6 暴露公网后易被脚本扫描,建议在后台修改默认的 5244 端口为其他高位随机端口。

3. 内网穿透方案对比:解耦方案 vs 内置 FRP

  • 方案一(推荐):腾讯云部署(Caddy + frps) + 香橙派部署(frpc 独立容器/进程)。
  • 方案二:腾讯云部署(frps) + AList 内置 FRP 功能。

为什么选择方案一(解耦方案)?

  1. 自动证书管理:腾讯云上的 Caddy 会根据域名自动申请并续签免费的 HTTPS 证书,无需手动配置。
  2. 负载低、更稳定:独立的 frpc 客户端仅占几兆内存。将网络隧道与 AList 业务解耦,避免 AList 崩溃导致网络断连。
  3. 扩展性强:后续香橙派若增加其他服务(如青龙面板、下载器),只需在 frpc 和 Caddy 中追加几行配置即可复用隧道,而 AList 内置 FRP 只能穿透 AList 自身。

五、 关键配置项与日常使用释疑

1. 登录时提示 repo https://github.com/AlistGo/alist

  • 含义:此弹窗为官方原版镜像的开源仓库致谢声明,并非报错。目的是打击盗版并引导用户关注正版。
  • 隐藏方法:登录后台 -> 设置 -> 全局 -> 自定义头部(或自定义文本),添加以下代码并保存:

    <style>
    .no-select.v-toast-item { display: none !important; }
    </style>
    

2. AList 核心运行模式:302 直链

  • 原理:当通过外网(如 FRP 隧道)访问阿里云盘、天翼云盘等文件时,AList 仅处理目录文本导航。一旦点击下载/播放,AList 会将链接 302 重定向到网盘官方服务器。
  • 优点:网盘不限制大文件流量时,数据直接从手机和网盘服务器之间传输,不消耗香橙派性能,也不占用腾讯云服务器的带宽带宽

3. 下载代理签名 (Down proxy sign)

  • 作用:当针对某些存储(如本地硬盘)开启了“代理/中转 (Proxy)”模式时,该功能会在下载链接后生成带时效性的加密 Token(如 ?sign=...),用于防盗链
  • 安全建议:公网环境下,若开启了本地存储的代理中转,必须保持 Down proxy sign 开启,防止外网恶意爬虫盗刷香橙派与腾讯云的公网流量。

标签: none

添加新评论