在Docker容器中运行Jellyfin
准备工作
运行
使用Docker Compose运行
Docker Compose使用较为简易,使用如下 docker-compose.yml 配置:
配置
docker-compose.ymlversion: "3"
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
network_mode: host # 推荐使用 host 模式,方便局域网发现和高吞吐
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- /path/to/jellyfin/config:/config
- /path/to/jellyfin/cache:/cache
- /your/media/movies:/media/movies # 挂载你的电影目录
# 核心配置:透传 GPU
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all # 或者指定特定卡的 UUID,比如指定你的 P10 专门负责转码
capabilities: [gpu, video] # 必须包含 video 权限,否则无法硬解
restart: unless-stopped
使用Docker运行
Docker CLI命令行运行启动:
采用 docker run
DIR=/home/admin/docs/jellyfin
mkdir -p $DIR/conig $DIR/cache $DIR/media
docker run -d \
--name jellyfin \
--net=host \
--gpus all \
-v $DIR/config:/config \
-v $DIR/cache:/cache \
-v $DIR/media:/media \
--restart unless-stopped \
jellyfin/jellyfin
这里使用了:
--net=host表示直接容器内的服务端口直接绑定到host主机,这样就不需要一一写端口映射
-v $DIR/media:/media将Host主机的一个media目录映射进容器,这个目录下将分别建立movies/tvshows/musics/photos子目录,这是因为剧集、歌曲等是多个内容归纳到一个入口,需要和电影区分开
备注
后续设置和使用参考 jellyfin_practice