这篇分享的是一个非常潜力股的实用项目。
Yamtrack 是一个支持电影、电视剧、动漫、漫画、书籍和游戏的媒体追踪工具,支持多用户、日历订阅、字幕同步、媒体服务器(如 Emby、Jellyfin、Plex)集成,适合热爱管理观影记录的各位~
本次文章将介绍如何使用 Docker Compose 一键部署 Yamtrack,开启全媒体追踪之旅。
主要功能亮点
全媒体追踪:支持记录电影、电视剧、动漫、漫画、游戏、图书等多种媒体类型。
分季剧集管理:可分别追踪每一季的剧集,并记录每集观看状态。
评分与进度:保存每部作品的评分、状态、进度、重看次数、开始/结束日期,或备注信息。
行为追踪历史:自动记录每一次添加、开始观看、再次观看等操作,方便回溯。
自定义媒体条目:手动创建条目,用于 API 无法识别的冷门作品。
个人媒体清单:创建任意目的的自定义列表,并可邀请他人协同管理。
日历同步支持:支持通过 .ics 链接订阅到系统日历,追踪即将上线的新番或影片。
多平台提醒功能:集成 Apprise,可通过 Discord、Telegram、ntfy、Slack、邮件等渠道推送更新提醒。
Docker 部署简便:提供官方 Docker Compose 模板,支持 SQLite 或 PostgreSQL 存储。
多用户支持:每位用户可独立管理自己的追踪记录,互不干扰。
灵活认证方式:支持 OIDC 与 100 多种社交平台登录(如 Google、GitHub、Discord 等),基于 django-allauth 实现。
集成媒体服务器:可与 Jellyfin、Plex、Emby 等媒体中心联动,自动同步观看记录。
跨平台导入记录:支持从 Trakt、Simkl、MyAnimeList、AniList、Kitsu 等平台导入数据,并可定期自动同步。
支持导出导入:可将所有追踪数据导出为 CSV 文件,亦可随时导入备份。
部署前准备
一台 Linux 或 Windows 主机(推荐使用服务器或 NAS),这里我以威联通NAS作为演示平台。
已安装Docker/Docker Compose,如果是威联通NAS,安装Container Station即可。
部署流程
以威联通NAS为例,打开Container Station开始部署。
首先部署代码如下,大家可以看看:
首先是项目自带的 SQLite 简化部署版本:
version: "3" # 最新版删除该行
services:
yamtrack:
container_name: yamtrack
image: ghcr.io/fuzzygrim/yamtrack
restart: unless-stopped
depends_on:
- redis
environment:
- TZ=Asia/Shanghai
- SECRET=请替换为一段高强度随机字符串
- REDIS_URL=redis://redis:6379
volumes:
- /share/Container/yamtrack/db:/yamtrack/db # SQLite 数据文件持久化目录
- /share/Container/yamtrack/media:/yamtrack/media # 可选:封面图、上传等媒体资源
ports:
- "8000:8000" # 冒号左侧端口可改
redis:
container_name: yamtrack-redis
image: redis:7-alpine
restart: unless-stopped
volumes:
- /share/Container/yamtrack/redis:/data # Redis 数据目录
对于大多数朋友来说,SQlite数据库已经足够用了,我的建议是尽量避免复杂化。
其次是适合用于 PostgreSQL 和 Redis 的数据库部署方式。
version: "3"
services:
yamtrack:
container_name: yamtrack
image: ghcr.io/fuzzygrim/yamtrack
restart: unless-stopped
depends_on:
- db
- redis
environment:
- TZ=Asia/Shanghai
- SECRET=请改成一段高强度随机字符串
- REDIS_URL=redis://redis:6379
- DB_HOST=db
- DB_NAME=yamtrack
- DB_USER=yamtrack
- DB_PASSWORD=yamtrack
- DB_PORT=5432
ports:
- "8000:8000"
volumes:
- /share/Container/yamtrack/media:/yamtrack/media # 可选:用于保存封面图等静态文件(如有)
db:
image: postgres:16-alpine
container_name: yamtrack-db
environment:
- POSTGRES_DB=yamtrack
- POSTGRES_USER=yamtrack
- POSTGRES_PASSWORD=yamtrack
- TZ=Asia/Shanghai
volumes:
- /share/Container/yamtrack/postgres:/var/lib/postgresql/data
restart: unless-stopped
redis:
container_name: yamtrack-redis
image: redis:7-alpine
restart: unless-stopped
volumes:
- /share/Container/yamtrack/redis:/data
关于所有项目统一使用一个数据库的想法并不现实。
因为,几乎每个应用都有自己独立的数据库版本!!!
这里我选择的简化版本进行部署,将代码修改后粘贴进框内,创建新的应用程序,如下图。
使用展示
按照上文代码进行部署,等待安装完毕后,浏览器输入 NAS_IP:8000 即可进入界面。首先点击下图中的「Register now」注册账户。
这个按照习惯注册一个就行,填写好信息点击「Create Account」
因为是新的项目,所以没汉化也很正常。有能力/感兴趣的朋友可以参与建设一把~
但是实际测试的话,输入中文也能直接搜索。如下图所示,分类要提前选好。如下图,还细分到了季度。
进入详情页面。这部真是童年了,当时跟着我妈看,跟狄仁杰系列一样印象极为深刻。
动漫搜索,特别用国漫测试,可以看到结果很多但是正确结果仍然排在一二号位,所以没啥问题。
国内的老电影。
这里我要提醒大家的是,Mange特指日本漫画(但实际测试下来是东方类)。并且搜索时,要用英文名或漫画的原始名(出版地)。另外由于国内漫画并没有很好的跟全球资源站点接轨,所以这方面的搜索困难不小,就算对着维基进行搜索,结果仍然不尽人意。
在设置中,可以进行Emby、Jellyfin、Plex的连接,自动跟踪进度,按照介绍的步骤操作即可。
也可以从一些站点导入数据,有几个大家应该挺熟悉了。
最后
项目还在频繁更新中,在Issues讨论区,看到还有很多功能准备上线。
个人预估,如果维持稳定更新的话,将来会是一个特别受欢迎的项目!
本文到此结束,感谢观看。