「Movies」海报万张,与君同享
目录
自托管影视服务的运维记录。
元数据刮削 / Metadata
tinyMediaManager
部署
docker compose 配置参考如下
services:
tinymediamanager:
image: tinymediamanager/tinymediamanager:latest
container_name: tinymediamanager
restart: unless-stopped
environment:
- USER_ID=1000
- GROUP_ID=1000
- ALLOW_DIRECT_VNC=true
- LC_ALL=en_US.UTF-8
- LANG=en_US.UTF-8
- PASSWORD=${TMM_PASSWD}
volumes:
- /path/to/your/tmm/data:/data
- /path/to/your/tmm/addons:/media/addons
- /path/to/your/tmm/movies:/media/movies
- /path/to/your/tmm/tvshows:/media/tv_shows
ports:
- 19087:5900 # VNC port
- 19088:4000 # Web UI
labels:
- "traefik.enable=true"
- "traefik.http.routers.tmm.rule=Host(`tmm.aio.yirami.xyz`)"
- "traefik.http.routers.tmm.entrypoints=https"
- "traefik.http.routers.tmm.tls=true"
- "traefik.http.routers.tmm.tls.certresolver=le"
- "traefik.http.services.tmm.loadbalancer.server.port=4000"
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:4000"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s注意:刮削时需要注意容器指定的权限与主机文件目录的权限匹配,否则可能无法存入刮削信息!
MDC-N(ext)G(eneration)
主要用于刮削日本片
部署
docker compose 配置参考如下
services:
mdc:
image: mdcng/mdc:latest
container_name: mdc
restart: unless-stopped
networks:
- traefik_proxy
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
# - MDC_USERNAME=yirami
# - MDC_PASSWORD=${MDC_PASSWD}
volumes:
- /path/to/your/mdc/config:/config
- /path/to/your/mdc/media:/media
# ports:
# - 9208:9208
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_proxy"
- "traefik.http.routers.mdc.rule=Host(`mdc.aio.yirami.xyz`)"
- "traefik.http.routers.mdc.entrypoints=websecure"
- "traefik.http.routers.mdc.tls=true"
- "traefik.http.routers.mdc.tls.certresolver=le"
- "traefik.http.routers.mdc.middlewares=authelia-auth"
- "traefik.http.services.mdc.loadbalancer.server.port=9208"
depends_on:
flaresolverr:
condition: service_healthy
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
healthcheck:
test: ["CMD-SHELL", "wget --spider -q http://localhost:9208/ || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
flaresolverr:
image: flaresolverr/flaresolverr:latest
container_name: flaresolverr
restart: unless-stopped
networks:
- traefik_proxy
environment:
- LOG_LEVEL=info
- TZ=Asia/Shanghai
- PROXY_URL=http://aio.mihomo.yirami.xyz:10808
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8191/"]
interval: 10s
timeout: 5s
retries: 3
start_period: 15s配置
禁用自动 Ping 所有数据源
v1.36.0 passed
docker compose stop mdc
docker cp mdc:/usr/local/bin/mdc_ng_app /tmp/mdc_ng_app
# 关闭每一小时自动 ping 所有数据源
printf '\xc3' | dd of=/tmp/mdc_ng_app bs=1 seek=$((0xe2cc10)) conv=notrunc
# 关闭了对 tt-013 的访问
printf '\xc3' | dd of=/tmp/mdc_ng_app bs=1 seek=$((0x1DF91D0)) conv=notrunc
docker cp /tmp/mdc_ng_app mdc:/usr/local/bin/mdc_ng_app
docker compose start mdcStash
主要用于刮削欧美片
部署
docker compose 配置参考如下
services:
stash:
image: stashapp/stash:v0.31.1
container_name: stash
restart: unless-stopped
ports:
- "9999:9999"
## If you intend to use stash's DLNA functionality uncomment the below network mode and comment out the above ports section
# network_mode: host
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
environment:
- STASH_STASH=/data/
- STASH_GENERATED=/generated/
- STASH_METADATA=/metadata/
- STASH_CACHE=/cache/
- STASH_PORT=9999
# - HTTP_PROXY=http://aio.mihomo.yirami.xyz:10808
# - HTTPS_PROXY=http://aio.mihomo.yirami.xyz:10808
# - NO_PROXY=10.0.0.0/24,localhost,127.0.0.1
volumes:
- /etc/localtime:/etc/localtime:ro
- /path/to/your/stash/config:/root/.stash
- /path/to/your/stash/metadata:/metadata
- /path/to/your/stash/cache:/cache
- /path/to/your/stash/blobs:/blobs
- /path/to/your/stash/generated:/generated
- /path/to/your/stash/media:/samba
deploy:
resources:
limits:
cpus: "2"
memory: 3g配置
自动重命名 Scene
Scene使用 RenameFile 插件在刮削完保存时自动重命名
- 参考插件安装文档安装插件
导出 Jellyfin 兼容的刮削文件
使用 mcMetadata 插件导出 .nfo 和 *-poster.jpg 文件,再使用 media-process 仓库的 image.jellyfin_poster 模块从 *-poster.jpg 生成背景虚化的窄幅封面。
- 参考插件安装文档安装插件
- 开启
Enable Scene Update Hook - 开启
Enable File Renamer(刮削完自动重命名并移动) Renamer Base Path:/samba/to/Renamer Path Template:$Studio{.$ReleaseDate}/$Studio.{$ReleaseDate.}$Performers.$Title
- 开启
- 在
Stash的Web页面正常刮削,保存后会在影片同目录生成.nfo和*-poster.jpg文件,并将影片和刮削文件整体移动到模板路径 - 使用命令生成窄幅封面
uv run jellyfin-poster /path/to/movies/dir
推流 / Streaming
Jellyfin
部署及运维参考