如何在Linux上搭建Jellyfin流媒体服务器
导读:在 Linux 上搭建 Jellyfin 流媒体服务器的实用步骤 一 环境准备与端口规划 准备一台运行 Ubuntu/Debian、CentOS/RHEL、Rocky Linux 8、Arch Linux 的服务器,建议至少 2 核 CP...
在 Linux 上搭建 Jellyfin 流媒体服务器的实用步骤
一 环境准备与端口规划
- 准备一台运行 Ubuntu/Debian、CentOS/RHEL、Rocky Linux 8、Arch Linux 的服务器,建议至少 2 核 CPU、4GB 内存、20GB+ 存储,并具备对媒体目录的读写权限。
- 开放常用端口:8096/TCP(HTTP 访问)、8920/TCP(HTTPS 访问)、1900/UDP(DLNA)、5353/UDP(mDNS/Bonjour)。如使用防火墙(firewalld/ufw),需放行上述端口。
二 发行版原生安装
- Ubuntu/Debian
- 安装依赖与仓库密钥:
- sudo apt update & & sudo apt install -y apt-transport-https wget gnupg
- wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin.gpg > /dev/null
- 添加仓库(自动匹配架构与版本):
- echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/$(awk -F’=’ ‘/^ID=/{ print $NF} ’ /etc/os-release)/$(awk -F’=’ ‘/^VERSION_CODENAME=/{ print $NF} ’) main” | sudo tee /etc/apt/sources.list.d/jellyfin.list > /dev/null
- 安装与启动:
- sudo apt update & & sudo apt install -y jellyfin
- sudo systemctl enable --now jellyfin
- 安装依赖与仓库密钥:
- CentOS/RHEL/Rocky Linux
- 安装依赖与仓库:
- sudo yum install -y epel-release wget
- sudo wget -O /etc/yum.repos.d/jellyfin.repo https://download.jellyfin.org/repository/jellyfin.repo
- 安装与启动:
- sudo yum install -y jellyfin
- sudo systemctl enable --now jellyfin
- 安装依赖与仓库:
- Arch Linux
- 使用 AUR 助手(如 trizen)安装:
- sudo pacman -S git base-devel
- git clone https://aur.archlinux.org/trizen.git & & cd trizen & & makepkg -si
- trizen -S jellyfin
- sudo systemctl enable --now jellyfin.service
- 使用 AUR 助手(如 trizen)安装:
- 首次访问:浏览器打开 http://< 服务器IP> :8096,按向导创建管理员、添加媒体库与语言等。
三 Docker 部署(可选)
- 快速启动(主机网络,适合单机):
- mkdir -p ~/jellyfin/{ config,cache/media}
- docker run -d --name jellyfin
–net=host
-v ~/jellyfin/config:/config
-v ~/jellyfin/cache:/cache
-v /path/to/media:/media
-e PUID=$(id -u) -e PGID=$(id -g)
–restart unless-stopped
jellyfin/jellyfin:latest
- 端口映射(桥接网络,便于与宿主机其他服务共存):
- 将上述 docker run 中的 “–net=host” 替换为 “-p 8096:8096 -p 8920:8920”,并确保防火墙放行对应端口。
- 初始化:浏览器访问 http://< 服务器IP> :8096 完成设置。
四 防火墙与反向代理及 HTTPS
- 防火墙放行(firewalld 示例):
- sudo firewall-cmd --permanent --add-port=8096/tcp
- sudo firewall-cmd --permanent --add-port=8920/tcp
- sudo firewall-cmd --permanent --add-port=1900/udp
- sudo firewall-cmd --permanent --add-port=5353/udp
- sudo firewall-cmd --reload
- Nginx 反向代理与 Let’s Encrypt(示例)
- 安装 Certbot 与 Nginx 插件后申请证书:
- sudo certbot --nginx -d your_domain.com
- 证书就绪后,Jellyfin 控制台可启用 HTTPS(端口 8920) 或保持 HTTP 由 Nginx 终止 TLS。
- 安装 Certbot 与 Nginx 插件后申请证书:
五 媒体库权限与硬件加速
- 权限与目录
- 确保 Jellyfin 用户对媒体目录可读(示例):
- sudo chmod 755 -R /path/to/media
- sudo chown -R jellyfin:jellyfin /path/to/media
- 若遇到媒体库扫描异常或元数据加载缓慢,可在 Jellyfin 配置中调整元数据缓存策略(路径因安装方式不同而异,Docker 版位于映射的 /config/system.xml 的 MetadataOptions 节点)。
- 确保 Jellyfin 用户对媒体目录可读(示例):
- 硬件转码(以 Intel Quick Sync 为例)
- 宿主机启用 iGPU 并加载驱动后,Docker 方式将设备透传给容器并选择硬件加速:
- 设备透传示例参数:–device /dev/dri/renderD128:/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0
- Jellyfin 控制台:进入 控制台 -> 播放 -> 硬件加速,选择 Intel Quick Sync 并保存。
- 宿主机启用 iGPU 并加载驱动后,Docker 方式将设备透传给容器并选择硬件加速:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Linux上搭建Jellyfin流媒体服务器
本文地址: https://pptw.com/jishu/748842.html
