Rclone 挂载Alist Emby

1. Rclone 安装

apt update
apt-get install fuse -y
apt install fuse3 -y
curl https://rclone.org/install.sh | bash

2. Rclone config 配置

  1. 创建新配置 2.No remotes found, make a new one?* 选择:n) New remote
  2. 输入名称
name> alist
  1. 选择存储类型
55 / WebDAV
  (webdav)
Storage> 55
  1. 设置 WebDAV 服务器地址
url> http://127.0.0.1:5244/dav/

注意:Alist 的 WebDAV 地址通常以 /dav 结尾。

  1. 选择 vendor
6 / Other site/service or software
vendor> 6
  1. 输入账号密码
user> alist
y) Yes, type in my own password
  1. bearer_token(可跳过)
  2. 高级配置
Edit advanced config?
n) No (default)
  1. 配置完成
Configuration complete

3. Rclone 挂载

挂载命令示例

/usr/bin/rclone mount alist:/百度云盘 /data/webdav \
  --copy-links \
  --no-gzip-encoding \
  --no-check-certificate \
  --allow-other \
  --allow-non-empty \
  --umask 000 \
  --use-mmap \
  --daemon

可选优化参数

--dir-cache-time 24h    # 缓存目录 24 小时
--cache-dir /data/cache # 设置本地缓存路径

alist:/data/webdav:alist 为配置名;/data/webdav 为挂载目录。


4. Rclone 开机自动挂载(Systemd)

编辑服务文件

nano /lib/systemd/system/rc-local.service

写入:

[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/rclone mount alist:/百度云盘 /data/webdav --copy-links --no-gzip-encoding --no-check-certificate --allow-other --umask 000 --use-mmap --daemon
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

使服务生效

systemctl enable rc-local.service

5. Rclone 管理命令

查看是否挂载成功

df -h
rclone tree alist:/

取消挂载

fusermount -qzu /data/webdav

控制服务

systemctl start rc-local.service
systemctl restart rc-local.service
systemctl stop rc-local.service
systemctl status rc-local.service

6. Rclone Docker Compose 部署

version: "3"
services:
  rclone:
    image: mumiehub/rclone-mount
    container_name: rclone
    user: root
    network_mode: host
    restart: always
    cap_add:
      - SYS_ADMIN
    devices:
      - /dev/fuse
    security_opt:
      - apparmor:unconfined
    volumes:
      - /root/.config/rclone:/root/.config/rclone
      - /theater:/mnt/mediaefs:shared
    environment:
      - RemotePath=gdtry:/
      - ConfigDir=/root/.config/rclone
      - ConfigName=rclone.conf
      - MountCommands=--use-mmap --umask 000 --default-permissions --no-check-certificate --allow-other --allow-non-empty --vfs-cache-mode full --buffer-size 256M --vfs-read-ahead 512M --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit off --vfs-cache-max-size 30G --low-level-retries 200