一、常用工具类服务
1. d2c:Docker run 命令转 Compose 配置工具
version: '3.9'
services:
d2c:
image: crpi-xg6dfmt5h2etc7hg.cn-hangzhou.personal.cr.aliyuncs.com/cherry4nas/d2c:latest
container_name: d2c
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # 读取Docker套接字以获取容器信息
- /vol2/1000/docker/composeout:/app/compose # Compose文件输出目录(需提前创建)
environment:
NAS: debian # 系统类型(可自定义)
CRON: "once" # 运行模式:once(单次)/ 定时任务(如0 0 * * *)
TZ: Asia/Shanghai # 时区设置
NETWORK: true # 网络配置(保持默认)
restart: always # 容器重启策略:始终重启
2. pt-accelerator:PT下载加速的hosts修改工具
version: '3.9'
services:
pt-accelerator:
image: eternalcurse/pt-accelerator:latest
container_name: pt-accelerator
restart: always
ports:
- "23333:23333" # 服务访问端口(可自定义)
environment:
TZ: Asia/Shanghai
volumes:
- /etc/hosts:/etc/hosts # 映射主机hosts文件(修改会影响全局网络)
- /vol2/1000/docker/pt-accelerator/config:/app/config # 配置文件目录
- /vol2/1000/docker/pt-accelerator/logs:/app/logs # 日志文件目录

mp、jellyfin、tmm都需要tmdb的网络,也可以使用dnschecker手动添加
3. watchtower:自动更新Docker镜像服务
version: '3.9'
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
environment:
TZ: Asia/Shanghai
volumes:
- /var/run/docker.sock:/var/run/docker.sock # 必需映射,用于操作Docker容器
restart: always
command: --schedule "0 0 3 * * *" allinone --cleanup # 每天凌晨3点更新所有镜像并清理旧版
注意:需要配置schedule,百度一下
4. cookiecloud:网站Cookie同步管理服务(需配合浏览器插件)
version: '3.9'
services:
cookiecloud:
image: easychen/cookiecloud:latest
container_name: cookiecloud-app
restart: always
volumes:
- /data:/data/api/data # Cookie数据存储目录
ports:
- "8088:8088" # 服务访问端口(可自定义)
注意:cookiecloud需要浏览器安装cookiecloud插件,mp pt站点可能需要
======================
二、电视类服务
1. allinone:电视源订阅管理服务(需官方申请密钥)
version: '3.9'
services:
allinone:
image: youshandefeiyang/allinone:latest
container_name: allinone
privileged: true # 特权模式(部分功能需要)
restart: always
environment:
TZ: Asia/Shanghai
ports:
- "35455:35455" # 服务端口(勿修改,需与客户端匹配)
network_mode: host # 主机网络模式(直接使用主机端口)
command: -tv=true -aesKey=xxxxx -userid=xxxxxx -token=xxxxxx # 必需参数(需替换为官方申请值)
需要使用tg申请key,网络需要魔法,没有域名情况,可以用host模式,使用ipv6地址远程使用
2. allinone_format:allinone的电视源格式转换拓展
version: '3.9'
services:
allinone_format:
image: yuexuangu/allinone_format:latest
container_name: allinone_format
restart: always
network_mode: host
ports:
- "35456:35456" # 拓展服务端口(可自定义)
volumes:
- /path/to/config:/app/config # 配置文件目录(需替换为实际路径)
3. iptv-sources:IPTV电视源聚合与检测服务
version: '3.9'
services:
iptv-sources:
image: herberthe0229/iptv-sources:latest
container_name: iptv-sources
restart: always
ports:
- "8081:8080" # 服务访问端口
volumes:
- /data:/app/m3u # IPTV源文件存储目录(M3U格式)
environment:
ENABLE_IPTV_CHECKER: "true" # 启用源检测功能
IPTV_CHECKER_URL: "http://localhost:8084" # 检测服务地址(可自定义)
CUSTOM_GITHUB_RAW_SOURCE_PROXY_URL: "https://ghproxy.net" # GitHub代理(加速源获取)
注意:容器端口不能修改,还需要使用iptv-update.sh更新源,具体百度一下!
#!/bin/sh定义日志文件路径LOG_FILE="/vol1/1000/docker/iptv-sources/update-sources.log"执行内部更新命令并重定向输出(覆盖模式)docker exec iptv-sources /bin/sh /app/update-sources.sh > $LOG_FILE 2>&1

4. iptv_api:IPTV电视源API接口服务
version: '3.9'
services:
iptv_api:
container_name: iptv-api
image: guovern/iptv-api:latest
restart: always
ports:
- "8124:8124" # API服务端口
environment:
APP_WORKDIR: /iptv-api # 工作目录
LITE: 'False' # 完整模式(非精简版)
APP_PORT: '8124' # 内部端口(保持一致)
APP_HOST: http://localhost # 服务主机地址
network_mode: host
volumes:
- /vol2/1000/docker/IPTV-API/config:/iptv-api/config # 配置文件目录
- /vol2/1000/docker/IPTV-API/output:/iptv-api/output # 电视源输出目录
直接输入IP+端口就能获取电视源文件
5. php-epg:IPTV电视源管理系统(含MySQL数据库)
version: '3.9'
services:php-epg:
image: taksss/php-epg:latest
container_name: php-epg
volumes:
- /epg/data:/htdocs/data # EPG数据存储目录
ports:
- "5678:80" # Web界面端口(可自定义)
depends_on:
- mysql # 依赖MySQL数据库
- phpmyadmin # 依赖数据库管理工具
restart: alwaysphp-epg依赖的MySQL数据库mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root_password # 数据库root密码(需修改为强密码)
MYSQL_DATABASE: phpepg # 数据库名称
MYSQL_USER: phpepg # 数据库用户
MYSQL_PASSWORD: phpepg # 数据库用户密码
ports:
- "3306:3306" # MySQL端口(建议仅内网访问)
restart: alwaysphp-epg依赖的数据库管理工具phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: phpmyadmin
ports:
- "8082:80" # Web管理界面端口
environment:
PMA_HOST: mysql # 数据库主机名(指向mysql服务)
PMA_PORT: 3306 # 数据库端口
depends_on:
- mysql # 依赖MySQL服务启动
访问web页面为IP+端口/manage.php 更多学习资料访问EPG-Server项目

======================
三、视频类服务
1. jellyfin:开源媒体播放平台(支持硬件转码)
version: '3.9'
services:
jellyfin:
image: nyanmisaka/jellyfin:latest
container_name: jellyfin
ports:
- "8096:8096" # Web管理界面端口
- "8920:8920" # 媒体流端口
devices:
- /dev/dri:/dev/dri # Intel核显硬解(需主机支持)
volumes:
- /vol3/1000/影视库1:/media1 # 媒体文件存储目录1(需替换为实际路径)
- /vol5/1000/影视库2:/media2 # 媒体文件存储目录2(需替换为实际路径)
- /vol2/1000/docker/jellyfin/cache:/cache # 缓存目录
- /vol2/1000/docker/jellyfin/config:/config # 配置文件目录
restart: always
environment:
TZ: Asia/Shanghai
PUID: 0 # 用户ID(建议改为非root用户,如1000)
PGID: 0 # 组ID(建议与PUID一致)
network_mode: host # 主机网络模式(避免端口冲突)
没有域名想远程访问可以容器网络改成host,ipv6访问


2. tinymediamanager:电影电视元数据刮削工具
version: '3.9'
services:tinymediamanager:
image: dzhuang/tinymediamanager:latest-v5 # 支持中文界面的版本
container_name: tinymediamanager
ports:
- "5811:5800" # Web界面端口(5800为容器内部端口,勿修改)
- "5900:5900" # VNC访问端口
environment:
TZ: Asia/Shanghai
PUID: 1000 # 请修改为当前系统用户ID(如1000)
PGID: 1000 # 请修改为当前系统用户组ID
volumes:
- /vol2/1000/docker/tinyMediaManager/config:/config # 配置文件目录
- /vol3/1000/影视库1:/media/media1 # 媒体文件目录1(需与jellyfin一致)
- /vol5/1000/影视库2:/media/media2 # 媒体文件目录2(需与jellyfin一致)
restart: always
注意:使用需要tmdb的apikey,自己申请一下!界面支持中文,输入需要使用粘贴板!中文不支持

3. mkvtoolnix: 视频文件封装与处理工具
version: '3.9'
services:
mkvtoolnix:
image: jlesage/mkvtoolnix:latest
container_name: mkvtoolnix
restart: always
ports:
- "5800:5800" # Web界面端口
volumes:
- /vol2/1000/docker/mkvtoolnix/config:/config # 配置文件目录
- /vol5/1000/影视库2/Download:/storage # 待处理媒体文件目录(需替换)
environment:
TZ: Asia/Shanghai
ENABLE_CJK_FONT: 1 # 启用中文字体支持(自动下载)
这个有对应的Windows的gui版本,可以增加减少视频的字幕文件和音轨等处理

4. moviepilot:PT资源管理服务
version: '3.9'
services:
moviepilot:
container_name: container_name: moviepilot-v2 # 服务名称
hostname: moviepilot-v2 # 主机名
image: jxxghp/moviepilot-v2:latest # 镜像地址
restart: always
stdin_open: true
tty: true
ports:
- "3000:3000" # 服务端口1
- "3001:3001" # 服务端口2
volumes:
- /vol3/1000/影视库1:/media # 媒体文件目录1
- /vol5/1000/影视库2:/media2 # 媒体文件目录2
- /vol2/1000/docker/moviepilot v2/config:/config # 配置文件目录
- /vol2/1000/docker/moviepilot v2/core:/moviepilot/.cache/ms-playwright # 核心配置目录
- /var/run/docker.sock:/var/run/docker.sock:ro # 读取Docker套接字(管理容器用)
environment:
NGINX_PORT: 3000 # Nginx端口
PORT: 3001 # 服务端口
PUID: 0 # 用户ID(建议改为非root)
PGID: 0 # 组ID(建议与PUID一致)
UMASK: 000 # 权限掩码
TZ: Asia/Shanghai
AUTH_SITE: PT站点 # PT站点名称(需替换)
XXX_UID: 站点ID # 站点用户ID(需替换为多个站点信息)
XXX_PASSKEY: 站点key # 站点Passkey(需替换)
GITHUB_PROXY: https://gh-proxy.com/ # GitHub加速代理
注意:使用需要PT站点,需要一个已经过考核的站点,配置好,使用过程中如果搜索不到pt站点的资源,关闭站点里面的模拟登陆

======================
四、音乐类服务
1. music-tag-web:音乐文件元数据刮削工具
version: '3.9'
services:
music-tag:
image: xhongc/music_tag_web:latest
container_name: music-tag-web
ports:
- "8002:8002" # Web界面端口(可自定义)
volumes:
- /vol3/1000/音乐:/app/media:rw # 音乐文件目录(需替换为实际路径)
- /vol2/1000/docker/music_tag_web/config:/app/data # 配置文件目录
restart: always
Windows端有musictag.exe代替

2. xiaomusic:小米音箱本地音乐播放控制
version: '3.9'
services:
xiaomusic:
container_name: xiaomusic
image: hanxi/xiaomusic:latest
restart: always
ports:"58090:8090" # 服务端口(可自定义)
environment:
XIAOMUSIC_PUBLIC_PORT: 58090 # 对外暴露端口(需与ports一致)
TZ: Asia/Shanghai
XIAOMUSIC_SEARCH: bilisearch # 搜索源(默认 bili 搜索)
XIAOMUSIC_HOSTNAME: 192.168.0.30 # NAS内网IP(需替换为实际IP)
MI_PASS: xxxxx # 小米账号密码(需替换)
MI_USER: 'xxxxx' # 小米账号ID(需替换)
MI_DID: XXXXXX,XXXXXX,XXXXXX # 音箱设备ID(多个用逗号分隔,需替换)
volumes:/vol2/1000/docker/xiaomusic:/app/conf:rw # 配置文件目录/vol3/1000/音乐:/app/music:rw # 音乐文件目录(需与music-tag一致)
