apt install fuse3创建挂载目录
mkdir /home/gd2/gd添加挂载守护进程
cat > /etc/systemd/system/gd.service <<EOF
[Unit]
Description=Rclone
AssertPathIsDirectory=/home/gd2/gd
After=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/rclone mount gd1: /home/gd2/gd \
--use-mmap \
--umask 000 \
--default-permissions \
--no-check-certificate --allow-other \
--allow-non-empty \
--dir-cache-time 24h \
--cache-dir=/home/cache \
--vfs-cache-mode full \
--buffer-size 256M \
--vfs-read-ahead 512M \
--vfs-read-chunk-size 32M \
--vfs-read-chunk-size-limit 128M \
--vfs-cache-max-size 100G \
--vfs-cache-min-free-space 30G \
--low-level-retries 200 \
--config /root/.config/rclone/rclone.conf
ExecStop=/bin/fusermount -qzu /home/gd2/gd
Restart=on-abort
User=root
[Install]
WantedBy=default.target
EOF启动服务
systemctl enable --now gd && systemctl status gd元数据和图片放在网盘上 加载速度会比放在本地慢一些 所以我们可以使用OverlayFS 实现图片和元数据文件储存到本地
OverlayFS 是 Linux 的一个文件系统,用途很广泛,比如 openwrt、docker 的文件系统就基于这个。简单讲一下他的作用。
OverlayFS 可以多个目录进行合并成一个新的目录,比如a、b两个目录里分别有 1.mp4 和 1.nfo 文件,那么他们合并成的新目录就同时包含了1.mp4和1.nfo两个文件。另外 OverlayFS 也有层级的概念,如果a、b目录有同名的文件,那么更高层级的目录的文件会优先被访问。

引用自rclone挂载Google群友盘 + OverlayFS + tmm + kodi打造家庭媒体中心
创建必要目录
根据自己实际情况更改
mkdir /home/gd-upper /home/gd-work /home/gd挂载 OverlayFS
mount -t overlay overlay -o lowerdir=/home/gd2/gd,upperdir=/home/gd-upper,workdir=/home/gd-work /home/gd复制元数据/图片到本地
cat > emby.txt <<EOF
+ *.jpg
+ *.png
+ *.nfo
- *
EOF假设EMBY文件放在Google Drive根目录的EMBY目录上
rclone copy -P gd:EMBY /home/gd-upper/EMBY --filter-from emby.txt --transfers=100最近发现使用OverlayFS在处理大文件的时候 经常会导致某些目录无法访问 遂改用MergerFS替代
mergerfs -o cache.files=off,dropcacheonclose=false,category.create=mfs /home/gd2/gd=RO:/home/gd2/gd-upper=RW /home/gdsystemd守护进程
[Unit]
Description=mergerfs /home/gd service
After=local-fs.target network.target
[Service]
Type=simple
KillMode=none
ExecStartPre=/bin/sleep 15
ExecStart=/usr/bin/mergerfs \
-f \
-o cache.files=off \
-o category.create=mfs \
-o dropcacheonclose=false \
/home/gd2/gd=RO:/home/gd2/gd-upper=RW \
/home/gd
#ExecStartPost=/usr/bin/docker start nas-tools emby
ExecStop=/bin/fusermount -uz /home/gd
Restart=on-failure
[Install]
WantedBy=default.targetNGINX反向代理
#PROXY-START/
client_max_body_size 5000M;
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_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
proxy_cache off;
proxy_redirect off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8096;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_ssl_verify off;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
location ~* \.(gif|png|jpg|css|js|woff|woff2)$
{
proxy_pass http://127.0.0.1:8096;
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 REMOTE-HOST $remote_addr;
expires 12h;#图片缓存浏览器过期时间
}
#PROXY-END/
]]>pacman -S caddyDebian安装
apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy添加 http.handlers.replace_response模块
caddy add-package github.com/caddyserver/replace-response检查http.handlers.replace_response模块是否安装完成
[root@archlinux ~]# caddy list-modules | grep http.handlers.replace_response
http.handlers.replace_responseCaddy目录
[root@archlinux caddy]# tree
.
├── Caddyfile
└── conf.d修改默认 Caddyfile配置文件 注册 replace指令
nano /etc/caddy/Caddyfile{
order replace after encode
}添加网站配置
nano /etc/caddy/conf.d/example.comexample.com {
reverse_proxy https://example.com {
header_up Host {upstream_hostport}
header_up Accept-Encoding identity
}
replace aaa bbb
}重载caddy配置
systemctl reload caddy参考
https://caddyserver.com/docs/caddyfile/directives/reverse_proxy
]]>