卡飞资源网

专业编程技术资源共享平台

NAS打造你的全媒体追踪平台,Yamtrack 自托管部署教程

这篇分享的是一个非常潜力股的实用项目。

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讨论区,看到还有很多功能准备上线。

个人预估,如果维持稳定更新的话,将来会是一个特别受欢迎的项目!

本文到此结束,感谢观看。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言