博客一直流量最大的内容都是关于 metatube 插件的使用教程,之前已经发过很多篇博客涵盖了插件的安装、配置、免费后端等等。有看到评论说有自己的服务器,但是不知道怎么搭建后端,所以决定再写一篇专门来介绍后端的搭建。
本质上 metatube 刮削需要一个一直运行的服务器/电脑运行一个后端服务,刮削的流程是 jellyfin 主动向 metatube 这个后端服务请求刮削任务,根据影片的文件名爬取影片的信息和图片,然后存在 jellyfin 中的元数据或者媒体库中,这样你想看的影片就有了封面图、影片介绍和演员介绍。
这个服务可以是本地的也可以是远程的,如果和 jellyfin 运行在同一台机器或者局域网内,通过内网地址访问,比如 192.168.0.10:8080;如果是运行在远程服务器上,通过外网地址访问,比如 https://www.example.com。
举个简单的例子,假设你在自己电脑上运行了 jellyfin,默认的端口是 8096,你的电脑IP是192.168.0.10,那么你在浏览器访问 http://192.168.0.10:8096,可以访问 jellyfin web 界面
同样的道理,你在自己电脑上运行了 metatube 后端服务,默认端口是 8080,访问 http://192.168.0.10:8080,如果部署成功就能看到类似下方的输出
{"data":{"app":"metatube","version":"v1.2.9-c1b89f4"}}
后端服务部署成功后,你需要在 jellyfin 插件配置 metatube 的后端地址,比如刚才的 http://192.168.0.10:8080,这时候 jellyfin 就可以和 metatube 后端服务进行通信和抓取了
首先这个教程是面对已经安装好 jellyfin/emby,并且能够正常刮削常规电影电视剧的用户,我大概划分为以下几种情况:
-
在 windows / linux 个人电脑运行 jellyfin
-
在 NAS 通过 docker 运行 jellyfin
-
在服务器通过 docker 运行 jellyfin
也就是说肯定是有一台电脑用来运行 jellyfin,其实已经满足运行 metatube 后端程序的条件。可以在运行 jellyfin 的电脑上再运行一个 metatube 后端程序,单独为自己的 jellyfin 提供刮削服务。接下来我分别介绍三种情况的部署方法。
Windows部署
Windows 电脑部署方式非常简单,先去下载一个可执行文件 Github下载链接
根据自己的 CPU 选择 amd64 或者 arm64 版本,比如用的是 Intel / AMD CPU,选择 amd64 版本。带 -v3 后缀的版本理论上运行效率更高,但是需要新版的 CPU 支持

下载完成后,解压压缩包,双击运行,出现以下界面后运行成功。如果运行失败闪退,请使用右键-在终端中运行,然后输入 ./metatube-server-windows-amd64.exe 运行程序(输入正确的文件名),如果报错会提示错误信息,有可能是端口占用或者缺少库文件。

然后浏览器访问 本机IP+8080 或者 localhost:8080,正确输出说明部署成功

Linux部署
理论上 Linux 部署和 Windows 一样,下载符合自己操作系统的可执行文件,在终端中运行。一般选择 linux-amd64 版本

# 在终端输入命令运行:
./metatube-server
# 这个命令是使用数据库模式,推荐这个
./metatube-server -dsn metatube.db
使用 curl 请求 localhost:8080,输出日志信息说明成功
curl localhost:8080
# 输出:
{"data":{"app":"metatube","version":"v1.2.9-c1b89f4"}}
这里稍微不一样的是,可能 jellyfin 和 metatube 不在一个机器上并且不在一个内网中。这时候需要运行 metatube 服务的服务器是可以公网访问的,比如服务器有公网 IPV4 地址 开放 8080 端口,然后 metatube 后端地址就是 http://IPV4地址:8080。更复杂的就是同时拥有域名,配置 nginx 代理,使用 https 域名访问 metatube 后端服务。外网访问这一部分就不细讲了,我个人也是有一个服务器和一个域名,使用 cloudflare tunnels 配置域名访问 metatube 后端服务,比 nginx 要简单。
Docker部署
这种方式适合有 Docker 环境的用户:
-
Nas 用户一般自带 Docker 环境,比如威联通使用 Container-Station 工作站
-
Linux 用户安装 Docker 比较容易,询问 Deepseek
-
Windows 用户需要安装 Docker desktop 可能需要配置 WSL,有一定门槛
安装 Docker 环境后,在命令行输入以下命令部署
docker run -d -p 8080:8080 -v $PWD/config:/config --name metatube ghcr.io/metatube-community/metatube-server:latest -dsn /config/metatube.db
更新后端需要先运行以下命令再重新跑一遍上述命令,初次安装请跳过
docker stop metatube
docker rm metatube
部署成功后,依然是访问 本机IP + 8080 测试是否正常输出,如果端口占用,可以修改冒号左侧的端口号,比如 8081:8080
Docker Compose部署
我个人比较习惯使用 Docker Compose 部署,注意 -dsn 参数是使用sqlite数据库,数据库文件需要映射,所以volumes里面配置了映射关系。这里映射使用的相对路径,也可以使用绝对路径。运行后会新建一个 config 文件夹,里面有 metatube.db 数据库文件。
其实不需要数据库也可以运行,你可以直接删除 command 和 volumes 参数。
version: '3.3'
services:
api:
# 镜像地址
image: ghcr.io/metatube-community/metatube-server:latest
# 重启策略
restart: always
# 容器名称
container_name: metatube
# 容器启动命令 默认使用数据库模式
command: "-dsn /config/metatube.db"
# 挂载配置文件
volumes:
# 把镜像内的配置文件挂载到宿主机的某个目录下
- ./config:/config
network_mode: bridge
ports:
# 容器端口
- 8080:8080
Docker 部署遇到的最大问题可能是现在 Docker 镜像可能会被墙,这部分比较麻烦,我个人是通过 Cloudflare Workers 自建镜像加速解决的,可以参考 解决网络问题无法下载Docker镜像
免费后端
如果以上部署方式都失败了,或者还是觉得麻烦,可以使用我新部署的免费后端 Huggingface 搭建 Metatube 免费后端,性能还可以不需要魔法。
或者有其他问题欢迎在评论区讨论。