温馨提示×

如何在ubuntu上运行jellyfin

小樊
66
2025-09-23 15:36:59
栏目: 智能运维

如何在Ubuntu上运行Jellyfin

一、准备工作

在安装前,请确保Ubuntu系统已更新至最新版本,以避免依赖冲突:

sudo apt update && sudo apt upgrade -y

二、安装Jellyfin(三种方式任选其一)

1. 推荐:通过APT官方仓库安装(最便捷)

  • 添加Jellyfin的GPG密钥和软件源:
    sudo 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 [arch $(dpkg --print-architecture)] https://repo.jellyfin.org/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
    
  • 更新包列表并安装:
    sudo apt update
    sudo apt install jellyfin -y
    

2. 通过Snap包安装(适合习惯Snap的用户)

  • 安装Snapd(若未安装):
    sudo apt install snapd -y
    
  • 安装Jellyfin:
    sudo snap install jellyfin --classic
    

3. 通过安装脚本快速部署

  • 运行官方提供的脚本自动完成安装:
    curl -s https://repo.jellyfin.org/install-debuntu.sh | sudo bash
    

三、启动与管理Jellyfin服务

安装完成后,Jellyfin会自动注册为系统服务,可通过以下命令管理:

  • 启动服务sudo systemctl start jellyfin
  • 设置开机自启sudo systemctl enable jellyfin
  • 检查服务状态sudo systemctl status jellyfin(显示“active (running)”表示运行正常)

四、访问与配置Web界面

  1. 局域网访问
    在浏览器中输入服务器IP地址加端口8096(如http://192.168.1.100:8096),进入初始设置向导。
  2. 初始配置
    • 创建管理员账户(建议使用强密码);
    • 设置媒体库路径(如/home/user/Movies/home/user/TV Shows),点击“Scan Library”扫描媒体文件。
  3. 远程访问(可选)
    若需从外网访问,需配置反向隧道(如Tailscale)或反向代理(如Apache/Nginx),并申请SSL证书(如Let’s Encrypt)以启用HTTPS。

五、常见问题解决

1. 媒体文件无法访问

Jellyfin运行时使用的jellyfin用户需对媒体文件夹有读取权限。可通过以下命令授权:

sudo chown -R jellyfin:jellyfin /path/to/media/folder

或创建共享用户组(更灵活):

sudo groupadd media
sudo usermod -aG media jellyfin  # 将jellyfin加入media组
sudo usermod -aG media $USER     # 将当前用户加入media组
sudo chmod -R 775 /path/to/media/folder

2. 新文件不自动识别

Jellyfin默认不会实时监控文件变动,需手动刷新媒体库:
在Web界面中,进入对应媒体库→点击右上角“…”→选择“Scan Library”或“Refresh Metadata”。

3. 启用硬件加速(提升转码性能)

若使用NVIDIA显卡,需安装驱动和NVIDIA Container Toolkit:

sudo ubuntu-drivers autoinstall  # 安装NVIDIA驱动
sudo systemctl set-default graphical.target  # 确保系统启动到图形界面
sudo apt install nvidia-container-toolkit -y
sudo systemctl restart docker  # 若使用Docker版Jellyfin

在Jellyfin Web界面的“Playback”→“Transcoding”中,开启“Hardware Acceleration”选项。

六、可选优化:配置反向代理(以Apache为例)

若希望通过域名访问并启用HTTPS,可配置Apache反向代理:

  1. 安装Apache和Certbot:
    sudo apt install apache2 certbot python3-certbot-apache -y
    
  2. 启用必要模块:
    sudo a2enmod proxy proxy_http ssl proxy_wstunnel
    sudo systemctl restart apache2
    
  3. 获取SSL证书:
    sudo certbot certonly --agree-tos --email your_email@example.com --no-eff-email --webroot -w /var/www/html -d your_domain.com
    
  4. 配置虚拟主机:
    创建/etc/apache2/sites-available/jellyfin.conf,内容如下:
    <VirtualHost *:80>
        ServerName your_domain.com
        Redirect permanent / https://your_domain.com/
    </VirtualHost>
    <VirtualHost *:443>
        ServerName your_domain.com
        DocumentRoot /var/www/html
        ProxyPreserveHost On
        ProxyPass "/socket" "ws://localhost:8096/socket"
        ProxyPassReverse "/socket" "ws://localhost:8096/socket"
        ProxyPass "/" "http://localhost:8096/"
        ProxyPassReverse "/" "http://localhost:8096/"
        SSLCertificateFile /etc/letsencrypt/live/your_domain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/your_domain.com/privkey.pem
    </VirtualHost>
    
  5. 重启Apache:
    sudo systemctl restart apache2
    

完成以上步骤后,即可通过https://your_domain.com访问Jellyfin。

0