Logo

FNOS 系统搭建 Emby 完整配置指南

Published on
...
Authors

系统环境说明

  • 硬件:PVE 虚拟机
  • 系统:FNOS(基于 Debian)
  • 网络:PVE 虚拟机,网关为 Mac Mini (192.168.71.100)
  • FNOS IP:192.168.71.9
  • FNOS 管理端口:5666

目标实现

  1. 通过 Docker 安装 Emby Server
  2. 通过 CloudDrive2 挂载网盘(115网盘、百度网盘等)
  3. Emby 读取网盘内容
  4. 通过 FRP 实现外网访问
  5. MetaTube 插件:为成人内容提供完整的元数据刮削

第一部分:基础环境准备

1.1 SSH 登录并获取 Root 权限

ssh [email protected]

sudo -i

1.2 创建目录结构

/vol1/1000/
├── Docker/
│   ├── emby/
│   │   ├── config/
│   │   └── metadata/
│   └── clouddrive2/
│       └── config/
├── CloudNAS/           # 用于挂载网盘
└── Media/
    └── Videos/         # 本地视频(可选)

第二部分:配置 Docker 挂载共享

2.1 设置 Docker 挂载为共享模式

# 创建 Docker 服务配置目录
sudo mkdir -p /etc/systemd/system/docker.service.d/

# 创建挂载共享配置
sudo cat <<EOF > /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf
[Service]
MountFlags=shared
EOF

# 重启 Docker 服务
sudo systemctl restart docker.service

第三部分:安装 CloudDrive2

3.1 命令行安装 CloudDrive2

# 删除任何现有的 CloudDrive2 容器(如果有)
docker stop clouddrive2 2>/dev/null || true
docker rm clouddrive2 2>/dev/null || true

# 创建 CloudDrive2 容器
docker run -d \
--name clouddrive2 \
--restart=unless-stopped \
--env CLOUDDRIVE_HOME=/Config \
-v /vol1/1000/CloudNAS:/CloudNAS:shared \
-v /vol1/1000/Docker/clouddrive2/config:/Config \
--network host \
--pid host \
--privileged \
--device /dev/fuse:/dev/fuse \
cloudnas/clouddrive2

3.2 配置网盘挂载

  1. 访问 CloudDrive2 管理界面:http://192.168.71.9:19798
  2. 登录你的 CloudDrive2 账户(需要终身会员)
  3. 添加挂载点:
    • 名称:115 (或其他网盘名称)
    • 挂载点:选择 CloudNAS 目录
    • 启动时自动挂载:勾选
    • 用户ID:0
    • 组ID:0
    • 权限:0755

3.3 验证挂载

# 检查挂载状态
ls -la /vol1/1000/CloudNAS/
# 应该能看到网盘文件夹,如:115、baidu 等

第四部分:安装 Emby Server

4.1 命令行安装 Emby

# 删除任何现有的 Emby 容器(如果有)
docker stop emby 2>/dev/null || true
docker rm emby 2>/dev/null || true

# 创建 Emby 容器
docker run -d \
--name emby \
-p 8096:8096 \
-p 8920:8920 \
-e TZ=Asia/Shanghai \
-e UID=0 \
-e GID=0 \
--privileged=true \
--device /dev/dri:/dev/dri \
-v /vol1/1000/Docker/emby/config:/config \
-v /vol1/1000/CloudNAS:/media:shared \
-v /vol1/1000/Docker/emby/metadata:/metadata \
--restart=unless-stopped \
--network host \
emby/embyserver:latest

4.2 验证 Emby 能访问网盘

# 进入 Emby 容器检查挂载
docker exec -it emby sh
ls -la /media/
ls -la /media/115/  # 应该能看到 115 网盘的内容
exit

4.3 配置 Emby

  1. 访问 Emby 管理界面:http://192.168.71.9:8096
  2. 完成初始化设置
  3. 添加媒体库:
    • 类型:电影/电视剧
    • 路径/media/115/movie/(根据实际网盘目录结构)
    • 根据需要添加其他网盘路径

第五部分:配置 FRP 外网访问

5.1 下载并安装 FRP

# 下载最新版本 FRP
cd /opt
wget https://github.com/fatedier/frp/releases/download/v0.64.0/frp_0.64.0_linux_amd64.tar.gz
tar -xzf frp_0.64.0_linux_amd64.tar.gz
cd frp_0.64.0_linux_amd64

5.2 创建 FRP 客户端配置

# 创建配置文件
cat > frpc.toml << 'EOF'
[common]
server_addr = "101.132.148.140"
server_port = 7000

[fnos_auth]
method = "token"
token = "Qws@33615336"

[fnos_transport]
protocol = "tcp"
tls_enable = true

[fnos_web_5666]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 5666
remote_port = 5666

[fnos_emby_8096]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 8096
remote_port = 8096

[fnos_ssh_2233]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 22
remote_port = 2233
EOF

注意

  • 你的阿里云服务器IP 替换为实际 IP
  • 你的FRP_TOKEN 替换为与服务器端一致的 token

5.3 测试 FRP 连接

# 测试配置
./frpc -c frpc.toml

# 看到以下信息表示成功:
# [I] login to server success
# [I] [fnos_emby_8096] start proxy success
# [I] [fnos_ssh_2233] start proxy success
# [I] [fnos_web_5666] start proxy success

# 按 Ctrl+C 停止测试

5.4 创建系统服务

# 创建 systemd 服务文件
cat > /etc/systemd/system/frpc.service << 'EOF'
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp_0.64.0_linux_amd64/frpc -c /opt/frp_0.64.0_linux_amd64/frpc.toml
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=control-group

[Install]
WantedBy=multi-user.target
EOF

# 启用并启动服务
systemctl daemon-reload
systemctl enable frpc
systemctl start frpc
systemctl status frpc

第六部分:访问地址汇总

内网访问

  • FNOS 管理界面http://192.168.71.9:5666
  • Embyhttp://192.168.71.9:8096
  • CloudDrive2http://192.168.71.9:19798

外网访问(通过 FRP)

  • FNOS 管理界面http://你的阿里云IP:5666
  • Embyhttp://你的阿里云IP:8096
  • SSHssh root@你的阿里云IP -p 2233

第七部分:MetaTube 插件部署与配置

MetaTube 插件:为 Emby 提供成人影片的完整元数据刮削,包括封面、演员信息、简介等。

1️⃣ 运行 MetaTube Server

创建 metatube-compose.yml:

cd /vol1/1000/Docker
nano metatube-compose.yml

写入:

services:
  metatube-server:
    image: ghcr.io/metatube-community/metatube-server:latest
    container_name: metatube
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /vol1/1000/Docker/metatube-server/config:/config
      - /vol1/1000/Docker/metatube-server/cache:/cache
    environment:
      - TZ=Asia/Shanghai
      - MT_LOG_LEVEL=debug
      - HTTP_PROXY=http://127.0.0.1:7890    # 如无代理可删除
      - HTTPS_PROXY=http://127.0.0.1:7890
      - NO_PROXY=127.0.0.1,localhost,192.168.0.0/16
    networks:
      - app_network

networks:
  app_network:
    external: true

运行:

docker-compose -f metatube-compose.yml up -d

验证:

curl http://你的IP:8080/

返回:

{"data":{"app":"metatube","version":"v1.7.x"}}

表示启动成功 ✅


2️⃣ 确认配置文件

创建 /vol1/1000/Docker/metatube-server/config/config.json:

cat > /vol1/1000/Docker/metatube-server/config/config.json <<'JSON'
**
  "providers": ["javdb", "bgn", "fc2hub", "javlibrary", "avmoo"],
  "server": **
    "port": 8080,
    "enable_logging": true
  **
**
JSON

docker restart metatube

验证加载:

docker logs -f metatube | grep -Ei "bgn|fc2hub|Loaded"

3️⃣ Emby 插件安装

  1. 下载插件包: MetaTube GitHub Releases
  2. 打开 Emby 管理后台 → 插件 → "安装插件" → 上传 ZIP 文件。
  3. 安装完成后重启 Emby:docker restart emby

4️⃣ Emby 插件配置

进入 Emby 插件 → MetaTube 设置

  • 服务器 URLhttp://127.0.0.1:8080http://192.168.71.9:8080
  • 令牌:留空或自定义(与 server 保持一致)
  • Movie provider filterjavdb,fc2hub,bgn,javlibrary,avmoo

保存后,重新扫描媒体库。


5️⃣ 测试接口

在宿主机测试是否能正确返回数据:

curl "http://127.0.0.1:8080/v1/movies/search?q=FC2-PPV-1317995&provider=fc2hub&fallback=true"

若返回 200 且包含封面或标题,即可正常工作。


6️⃣ 创建成人内容媒体库

  1. 添加媒体库

    • 控制台 → 媒体库 → 添加媒体库
    • 内容类型:电影
    • 显示名称:成人影片
    • 文件夹/media/115/adult/(根据实际网盘目录结构)
  2. 关键配置

    • 元数据下载器只勾选 MetaTube(取消其他所有选项)
    • 图片获取器只勾选 MetaTube
    • 高级选项:勾选"将媒体图像保存到媒体所在文件夹"

7️⃣ 文件命名规范

为确保最佳刮削效果,请遵循以下命名规范:

# 推荐格式
MIDE-123.mp4
SSNI-456.mkv
PRED-789.mp4
CAWD-801.mkv
FC2-PPV-1317995.mp4

# 避免格式
[网站名]MIDE-123[其他信息].mp4
MIDE-123_uncensored.mp4

8️⃣ 代理支持(可选)

MetaTube 网络需能访问 javdb.com / bgn.dev / fc2hub.com。

如需代理访问,确认 metatube-compose.yml 中包含:

environment:
  - HTTP_PROXY=http://你的代理IP:端口
  - HTTPS_PROXY=http://你的代理IP:端口
  - NO_PROXY=127.0.0.1,localhost,192.168.0.0/16

修改后:

docker-compose -f metatube-compose.yml up -d

9️⃣ DNS 优化

如果容器内 DNS 解析失败,可在 compose 中添加:

services:
  metatube-server:
    # ... 其他配置 ...
    dns:
      - 223.5.5.5
      - 119.29.29.29

🔟 系统维护与更新

更新 MetaTube:

cd /vol1/1000/Docker

docker-compose -f metatube-compose.yml pull
docker-compose -f metatube-compose.yml up -d

查看日志:

# 服务端日志
docker logs metatube --tail 50

# 实时查看
docker logs -f metatube

备份配置:

# 备份 MetaTube 数据库
cp /vol1/1000/Docker/metatube-server/config/metatube.db \
   /vol1/1000/Docker/metatube-server/config/metatube.db.backup

# 查看数据库大小
ls -lh /vol1/1000/Docker/metatube-server/config/

常见问题排查

问题解决方案
dial tcp: lookup ... server misbehavingDocker DNS 不可用,改为 223.5.5.5 / 119.29.29.29
搜不到 FC2/BGN检查 config.json 中 provider 是否写入;如需代理加环境变量
/api/version 返回 404MetaTube 新版使用 / 或 /v1/... 路径,/api/version 已废弃
Emby 没显示 MetaTube插件没启用或服务地址错误,确认端口 8080 可访问
刮削速度慢添加代理或检查 DNS 配置

特别提示:如果 Emby 插件列表中不显示 MetaTube,尝试:

docker restart emby
# 等待 1-2 分钟后再检查 Emby 插件页面

访问地址汇总

内网访问

  • FNOS 管理界面http://192.168.71.9:5666
  • Embyhttp://192.168.71.9:8096
  • CloudDrive2http://192.168.71.9:19798
  • MetaTube 服务端http://192.168.71.9:8080

外网访问(通过 FRP)

  • FNOS 管理界面http://你的阿里云IP:5666
  • Embyhttp://你的阿里云IP:8096
  • SSHssh root@你的阿里云IP -p 2233

如需外网访问 MetaTube 服务端,可在 FRP 配置中添加:

[fnos_metatube_8080]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 8080
remote_port = 8080

维护命令

服务管理

# 查看容器状态
docker ps -a

# 查看容器日志
docker logs emby
docker logs clouddrive2
docker logs metatube

# 重启服务
systemctl restart frpc
docker restart emby
docker restart clouddrive2
docker restart metatube

# 更新容器
docker pull emby/embyserver:latest
docker pull cloudnas/clouddrive2:latest
docker pull ghcr.io/metatube-community/metatube-server:latest
# 然后重新创建容器

备份重要配置

# 备份 FRP 配置
cp /opt/frp_0.64.0_linux_amd64/frpc.toml ~/frpc_backup.toml

# 备份 Emby 配置
tar -czf ~/emby_config_backup.tar.gz /vol1/1000/Docker/emby/config/

# 备份 CloudDrive2 配置
tar -czf ~/clouddrive2_config_backup.tar.gz /vol1/1000/Docker/clouddrive2/config/

# 备份 MetaTube 配置
tar -czf ~/metatube_config_backup.tar.gz /vol1/1000/Docker/metatube-server/

注意事项

  1. 权限设置:确保所有目录权限正确,容器以 root 用户运行
  2. 网络配置:Docker 容器使用 host 网络模式以获得最佳性能
  3. 存储映射:确保 :shared 参数正确配置以支持 FUSE 挂载
  4. 防火墙:确保阿里云服务器安全组开放了相应端口
  5. 备份:定期备份重要配置文件和数据库
  6. MetaTube 特殊说明:该插件主要用于成人影片元数据刮削,请合理使用

通过以上配置,你将拥有一个功能完整的 NAS 系统,支持网盘挂载、影视管理和外网访问,并且具备完整的成人影片元数据刮削能力。

完整流程时间估算

  • 准备工作:10-15 分钟
  • Docker 环境配置:5 分钟
  • CloudDrive2 安装配置:15-20 分钟
  • Emby 安装配置:10-15 分钟
  • FRP 配置:10-15 分钟
  • MetaTube 部署配置:15-20 分钟
  • 测试验证:10 分钟

总计:约 75-100 分钟

FNOS 系统搭建 Emby 完整配置指南 | 原子比特之间