Jellyfin + tinymediamanager + TMM 刮削
使用 tinymediamanager 配合 TMM(themoviedb)实现 Jellyfin 刮削。
网上现有的教程都比较老了,所以开一篇帖子记录一下自己配置的过程。
TMM API Key
因为是使用 TMM 来实现刮削,所以我们先上官网 申请一下 API Key。
首先你需要注册一个账号,注册账号比较简单,本篇不作介绍。
在初次登录,未配置过 API 的情况下,有两种方法让我们进入到 API 申请页面:
-
直接拉到页面最底部,点击 API 。
-
点击自己的头像,进入账户设置页面,然后点击列表左侧的 API 选项。
注意
申请过 API 之后就不能使用第一种方法了,会进入文档页面。只能使用第二种方法查看已经申请的 API。
在 API 选项页面,我们选择 Developer 类型,创建 API Key。
![](https://blog.rakuyoo.top/post-images/1707116627856.png)
进入到信息填写页面,这里我借用一张别人的图做示例:
![](https://blog.rakuyoo.top/post-images/1707116745628.png)
经过实际测试,有以下几点需要注意:
- 应用信息部分直接按照上图所示填写即可,一模一样就行。
- 姓名必须要使用英文。
- 地址信息找一个随机地址生成器生成一下即可。注意 地址1 和 地址2 都要有,可以是中文,两个一样也可以。
点击提交后即可完成申请,申请是秒过的,在新页面可以立刻查看到我们申请的 key:
有的文章附图里,标题显示的是 “API密钥(v3 auth)”。在 TMM 最新版里直接显示 “API 密钥” 了,其实是一回事。
NAS 配置
回到群晖 NAS 上,首先需要通过 docker 安装 tinymediamanager
docker-compose
省流版,我做了一份 docker-compose 文件,如果您有编程经验可以直接参考使用:
version: '3.8'
services:
tinymediamanager:
container_name: tinymediamanager-tinymediamanager
image: tinymediamanager/tinymediamanager:latest
command: /app/tinyMediaManager -Dtmm.contentfolder=/data
extra_hosts:
- "www.themoviedb.org:8.67.111.128"
- "www.themoviedb.org:18.154.144.22"
- "www.themoviedb.org:99.86.199.23"
- "image.tmdb.org:84.17.46.53"
- "image.tmdb.org:89.187.162.242"
- "image.tmdb.org:138.199.46.66"
- "api.themoviedb.org:13.33.33.60"
- "api.themoviedb.org:13.224.167.10"
- "api.themoviedb.org:99.84.192.81"
- "api.thetvdb.org:192.241.234.54"
ports:
- 4000:4000
volumes:
- /volume1/video:/media:rw
- /volume1/docker/tiny-media-manager/config:/config:rw
- /volume1/docker/tiny-media-manager/data:/data:rw
environment:
PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
LANG: "en_US.UTF-8"
LC_ALL: "en_US.UTF-8"
USER_ID: "0"
GROUP_ID: "0"
APP: "tinyMediaManager"
UMASK: "0022"
ALLOW_DIRECT_VNC: "true"
LC_TIME: "C.UTF-8"
ENABLE_CJK_FONT: "1"
restart: always
privileged: true
network_mode: bridge
该文件设置了以下内容:
- 容器名:
tinymediamanager-tinymediamanager
- 配置了 hosts,解决 TMDB 访问问题
- 启用 “自动重新启动”
- 使用高级权限执行容器
- 端口号 4000
- 挂载以下路径,均为读写权限
- 本地
/volume1/video
,挂载到容器内/media
- 本地
/volume1/docker/tiny-media-manager/config
,挂载到容器内/config
- 本地
/volume1/docker/tiny-media-manager/data
,挂载到容器内/data
- 本地
手动安装
如果不想使用 docker-compose 安装,可以手动安装
安装 tinymediamanager
在注册表中搜索 tinymediamanager,这里我们选择第二个官方镜像。
大部分教程不是选择第一个 star 最多的,就是选择第三个所谓 “中文更友好” 的。其实在 2024 年,官方的用起来才是最简单的。
![](https://blog.rakuyoo.top/post-images/1707117348043.png)
下载完成之后,我们先不要打开,进入后续的配置流程。
创建 tinymediamanager 容器
首先通过 ssh 登录群晖,然后通过下面的命令运行 tinymediamanager docker。
这一步可以直接添加 host,解决 tinymediamanager 无法访问的问题。避免我们在后续进入 docker 容器内部修改 host。
但是主要注意一点的是,如果在 DSM 里手动关闭容器再重新启动,那么 host 配置就失效了。因为 TMM 容器内没有 vi,同时考虑以后再次修改,个人还是建议将/etc/hosts
文件挂载出来,然后在文件内添加下列 host。
docker run \
--name=tinyMediaManager \
--add-host=www.themoviedb.org:8.67.111.128 \
--add-host=www.themoviedb.org:18.154.144.22 \
--add-host=www.themoviedb.org:99.86.199.23 \
--add-host=image.tmdb.org:84.17.46.53 \
--add-host=image.tmdb.org:89.187.162.242 \
--add-host=image.tmdb.org:138.199.46.66 \
--add-host=api.themoviedb.org:13.33.33.60 \
--add-host=api.themoviedb.org:13.224.167.10 \
--add-host=api.themoviedb.org:99.84.192.81 \
--add-host=api.thetvdb.org:192.241.234.54 \
tinymediamanager/tinymediamanager:latest
运行到下面这一步就 ok 了:
此时容器已经创建好,我们可以 ctrl+c
停止运行,然后回到 NAS 上停止该容器,准许后续的编辑。
配置 tinymediamanager 容器
在 docker 文件夹下新建一个 TinyMediaManager
目录,然后新建 data
文件夹。
在容器内找到刚才新创建好的容器,点击 详情->设置 进入配置。
![](https://blog.rakuyoo.top/post-images/1707118259529.png)
端口号使用默认或根据你的实际情况填写。
文件夹挂载需要挂载两个,一个是刚才创建的 data
文件夹,另一个是你当前 存储影片 的文件夹。
环境变量需要注意以下几点:
USER_ID
和GROUP_ID
修改为0
(root用户)。PASSWORD
可以直接删掉。- 增加
ENABLE_CJK_FONT
这个 key,值为1
。
对于
ENABLE_CJK_FONT
,老版的教程里都需要添加,为了切换为中文后正常显示。我在装最新版的时候直接加上了,没有测试不加可以不可以。
填完后我们就可以运行容器了。
官方镜像较其他镜像的优势
截止到本文发布,官方镜像已经来到了 5.x 的版本,而其他两个镜像还是 3.x 的版本。
相比较老版,新版的挂载目录从 /config
变为了 /data
,默认端口从 5800 变为了 4000。
在对中文的支持上,最新的官方镜像对中文的支持已经很好了,不需要额外的配置。而其他两个镜像版本对中文的支持比较麻烦:
教程中往往提到我们需要将 /etc/cont-init.d/10-cjk-font.sh
文件中的 http://dl-cdn.alpinelinux.org
替换为 http://mirrors.tuna.tsinghua.edu.cn/
。
此举是为了下载中文字体,然而如果我们使用的是 romancin 的镜像,那么就算替换了也没用,设置为中文依然会乱码。这是因为该字体在清华源下已经失效了(阿里云好像也失效了)。有网友提到华为云是有效的,经过测试确实可以。
最后,在刮削效率和结果上,也是新版更为出色。
tinymediamanager 配置
打开浏览器,输入 http://nas-ip:4000/
进入 tinymediamanager。初始是一个英文的引导页面,我们一般直接 next 即可。
进入主页面后,我们进入设置,修改语言为中文。