媒体服务
jellyfin
免费开源,但有些视频文件读取不到,转码hdr时发白(好像下个版本修复),备用方案
version: '3.5'
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
volumes:
- ./config:/config
- ./cache:/cache
- ./media:/media
- ./media2:/media2:ro
- /mydata:/mydata
restart: 'unless-stopped'
ports:
- '8096:8096' # http访问端口
- '8920:8920' # https访问端口
devices:
- /dev/dri:/dev/dri
environment:
- ROC_ENABLE_PRE_VEGA=1
emby
硬解付费,但有破解版,个人主力使用,转码hdr时同样发白
需要首先手动创建traefik网络,否则桥接模式可能不会成功
ios 配合 fireball使用
window 配合 浏览器插件 和 potplayer使用
version: '3'
networks:
traefik:
driver: bridge # 使用桥接模式的网络驱动
external: true # 表明这个网络是外部创建的,不由这个 Docker Compose 文件管理
services:
emby:
image: lovechen/embyserver:latest # 使用最新版本的 lovechen/embyserver 镜像
container_name: emby # 容器名称设置为 emby
restart: always # 容器总是重新启动
networks:
- traefik # 将此服务连接到 traefik 网络
ports:
- '8095:8096' # 将容器的 8096 端口映射到主机的 8096 端口
- '8919:8920' # 将容器的 8920 端口映射到主机的 8920 端口
- '1900:1900/udp' # 将容器的 1900 UDP 端口映射到主机的 1900 UDP 端口
- '7359:7359/udp' # 将容器的 7359 UDP 端口映射到主机的 7359 UDP 端口
volumes:
- ./config:/config # 将主机上的 ./config 目录挂载到容器的 /config
- /mydata:/mydata
environment:
- UID=0 # 设置容器用户 ID 为 0 (通常是 root)
- GID=0 # 设置容器组 ID 为 0 (通常是 root)
- GIDLIST=0 # 设置容器组 ID 列表为 0
- NVIDIA_VISIBLE_DEVICES=all # 允许容器访问所有 NVIDIA 设备
devices:
- /dev/dri:/dev/dri # 将主机的 /dev/dri 设备挂载到容器
nginx:
image: levonet/nginx:latest # 使用最新版本的 levonet/nginx 镜像
container_name: emby-nginx # 容器名称设置为 emby-nginx
networks:
- traefik # 将此服务连接到 traefik 网络
restart: always # 容器总是重新启动
volumes:
- ./nginx_config/:/etc/nginx/ # 挂载 nginx 配置文件
ports:
- 8083:80 # 将容器的 80 端口映射到主机的 8083 端口
environment:
- TZ=Asia/Shanghai # 设置容器的时区为亚洲/上海
plex
需注册账号,播放视频外挂字幕黑屏,放弃
services:
plex:
image: plexinc/pms-docker:latest
container_name: plex
environment:
- PUID=1000
- PGID=996
- VERSION=docker
- PLEX_CLAIM=claim-xxxxx
volumes:
- ./config:/config
- /mydata:/mydata
ports:
- 32400:32400
restart: unless-stopped
navidrome
纯音乐播放器,轻便好用,重启后配置清空?不确定
ios配合音流使用
version: "3"
services:
navidrome:
container_name: navidrome
image: deluan/navidrome:latest
ports:
- 4533:4533
volumes:
- /mydata/sda/music:/music # 媒体目录,多个目录需要分别映射进来,需要满足配置文件说明中的要求
- ./data:/data
environment:
- PUID=1000 # 想切换为哪个用户来运行程序,该用户的uid
- PGID=996 # 想切换为哪个用户来运行程序,该用户的gid
restart: always
musictag
音乐文件自动刮削(添加歌词,专辑等 元数据信息)
version: '3'
services:
music-tag:
image: xhongc/music_tag_web:latest
container_name: music-tag-web
ports:
- "8001:8001"
volumes:
- /mydata/sda/music:/app/media:rw
- ./config:/app/data
command: /start
restart: unless-stopped
reader
小说阅读器,可自己添加书源
version: '3.1'
services:
reader:
image: hectorqin/reader
#image: hectorqin/reader:openj9-latest #docker镜像,arm64架构或小内存机器优先使用此镜像.启用需删除上一行
container_name: reader #容器名 可自行修改
restart: always
ports:
- 8050:8080 #4396端口映射可自行修改
volumes:
- ./logs:/logs #log映射目录 /home/reader/logs 映射目录可自行修改
- ./storage:/storage #数据映射目录 /home/reader/storage 映射目录可自行修改
- /mydata/reader_data:/storage/data
environment:
- PUID=1000
- PGID=996
- SPRING_PROFILES_ACTIVE=prod
- READER_APP_USERLIMIT=5 #用户上限,默认50
- READER_APP_USERBOOKLIMIT=1000 #用户书籍上限,默认200
- READER_APP_CACHECHAPTERCONTENT=true #开启缓存章节内容 V2.0
# 如果启用远程webview,需要取消注释下面的 remote-webview 服务
# - READER_APP_REMOTEWEBVIEWAPI=http://*:8050 #开启远程webview
# 下面都是多用户模式配置
- READER_APP_SECURE=true #开启登录鉴权,开启后将支持多用户模式
- READER_APP_SECUREKEY=xxxx #管理员密码 建议修改
- READER_APP_INVITECODE=xxxx #注册邀请码 建议修改,如不需要可注释或删除
网盘
alist
个人网盘服务,界面好看,速度块,支持webdav,部分视频,音乐,可在线编辑txt,支持离线下载aria2 http qbittorrent
缺点,复制文件时目录只能点小三角号展开,不好用,window客户端收费,重启每次都有repo提示关,有点烦。
下面是alist+qbittorrent+aria2 集成,network用host模式,有需要可以改成bridge
客户端xlist,fileball可挂载webdav使用
version: '3.5'
services:
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
network_mode: 'host'
environment:
- PUID=1000
- PGID=996
- TZ=Asia/Shanghai
- WEBUI_PORT=8181 # 将外部端口更改为8181
- WEBUI_USERNAME=xxx# 设置用户名
- WEBUI_PASSWORD=xxx # 设置密码
volumes:
- ./qbittorrent/config:/config
- ./qbittorrent/downloads:/downloads
- ./qbwebui:/qbwebui
- ./alist:/opt/alist/data
- /mydata:/mydata
restart: unless-stopped
alist:
image: xhofe/alist:latest
container_name: alist
network_mode: 'host'
environment:
- PUID=1000
- PGID=996
- UMASK=022
- QBittorrent_ADDRESS=qbittorrent # 使用qbittorrent容器的名称作为地址
- QBittorrent_PORT=8181 # 设置qbittorrent的端口
volumes:
- ./alist:/opt/alist/data
- /mydata:/mydata
restart: always
Aria2-Pro:
container_name: aria2-pro
image: p3terx/aria2-pro
environment:
- PUID=1000
- PGID=996
- UMASK_SET=022
- RPC_SECRET=xxxx # 配置Aria2 的 RPC secret 密钥,它将被用于 Alist 和 AriaNg 连接 Aria2
- RPC_PORT=6800
- LISTEN_PORT=6888
- DISK_CACHE=64M
# - IPV6_MODE=true
- UPDATE_TRACKERS=true
# - CUSTOM_TRACKER_URL=
- TZ=Asia/Shanghai
volumes:
- ./aria2/config:/config
- ./aria2/downloads:/downloads # 在:号前配置你要在主机上保存下载文件的路径
- ./alist:/opt/alist/data
- /mydata:/mydata
ports:
- "6800:6800"
- "6888:6888"
- "6888:6888/udp"
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 1m
# Aria2 的 Web UI
AriaNg:
container_name: ariang
image: p3terx/ariang
command: --port 6880 --ipv6
ports:
- "6880:6880"
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 1m
nextcloud
好用,window端免费,备用
缺点,响应有点慢
services:
nextcloud:
image: linuxserver/nextcloud:latest
container_name: nextcloud
environment:
- PUID=1000
- PGID=996
volumes:
- ./appdata:/config
- ./data:/data
- /mydata:/mydata
ports:
- 8083:80
restart: always
cloudreve
带自己数据库,不能实时同步硬盘文件变更,但整体感觉还可以,放弃