如何在Linux上搭建Jellyfin媒体服务器
Jellyfin是一款开源媒体服务器,支持跨平台运行,可在Linux系统上搭建个人媒体中心。以下是针对不同Linux发行版的详细搭建步骤及注意事项:
sudo apt update && sudo apt upgrade -y 或对应发行版的更新命令);sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg software-properties-common
mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
echo "deb [signed-by=/etc/apt/keyrings/jellyfin.gpg] https://repo.jellyfin.org/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install -y jellyfin
yay(或其他AUR助手)安装:yay -S jellyfin-git
sudo yum install -y epel-release
sudo yum install -y wget
wget https://repo.jellyfin.org/releases/server/centos/jellyfin-$(curl -s https://repo.jellyfin.org/releases/server/centos/latest.txt).el7.x86_64.rpm
sudo yum localinstall -y jellyfin-*.el7.x86_64.rpm
wget https://repo.jellyfin.org/releases/server/fedora/jellyfin-$(curl -s https://repo.jellyfin.org/releases/server/fedora/latest.txt).fc$(rpm -E %fedora).x86_64.rpm
sudo dnf install -y jellyfin-*.fc*.x86_64.rpm
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
docker-compose.yml文件:version: '3'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
network_mode: host # 直接使用主机网络(简化端口配置)
volumes:
- ./config:/config # 配置文件目录
- ./cache:/cache # 缓存目录
- /path/to/media:/media # 媒体文件目录(替换为实际路径)
restart: unless-stopped # 开机自启
启动容器:docker-compose up -d
sudo systemctl enable jellyfin # 设置开机自启
sudo systemctl start jellyfin # 启动服务
sudo systemctl status jellyfin # 查看状态(确认运行中)
restart: unless-stopped实现开机自启,无需额外配置。http://<服务器IP>:8096(如http://192.168.1.100:8096),使用默认管理员账号admin登录(首次登录需修改密码)。/media/movies);8080)、语言(如中文)、时区等;ufw(Ubuntu)或firewalld(CentOS),需开放Jellyfin端口:sudo ufw allow 8096/tcp # Ubuntu
sudo firewall-cmd --add-port=8096/tcp --permanent # CentOS
sudo firewall-cmd --reload
sudo apt install -y nvidia-driver-535 nvidia-docker2 # Ubuntu示例
sudo systemctl restart docker
修改docker-compose.yml,添加环境变量:environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
sudo apt install -y certbot python3-certbot-nginx # Nginx反向代理示例
sudo certbot --nginx -d yourdomain.com
之后在Jellyfin“系统”→“安全”中配置HTTPS端口(如8443)和证书路径。server {
listen 80;
server_name media.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name media.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/media.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/media.yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost:8096;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重启Nginx后,通过https://media.yourdomain.com访问。systemctl status jellyfin)、Docker容器是否正常(docker ps);sudo chown -R jellyfin:jellyfin /path/to/media)、挂载路径是否正确(Docker需检查volumes配置);docker logs jellyfin),排查端口冲突或磁盘空间不足问题。通过以上步骤,即可在Linux系统上成功搭建Jellyfin媒体服务器,实现个人媒体资源的集中管理与流媒体播放。具体配置可根据实际需求调整(如添加更多媒体库、配置远程访问等)。