在Ubuntu上配置Jellyfin媒体服务器涉及多个步骤,包括安装Jellyfin、配置网络设置、启动服务以及设置访问权限等。以下是详细的配置指南:
首先,确保你的Ubuntu系统已经更新到最新版本:
sudo apt update
sudo apt upgrade
接下来,安装必要的软件包:
sudo apt install apt-transport-https ca-certificates curl
然后,添加Jellyfin的官方仓库:
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/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
最后,安装Jellyfin:
sudo apt install jellyfin -y
配置静态IP地址(可选):
如果你需要配置静态IP地址,可以编辑 /etc/netplan/01-netcfg.yaml 文件:
sudo nano /etc/netplan/01-netcfg.yaml
将 dhcp4: yes 更改为 dhcp4: no,并添加你的静态IP地址、子网掩码、网关和DNS服务器:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [Your_Static_IP/Netmask]
gateway4: Your_Gateway_IP
nameservers:
addresses: [DNS_Server_IPs]
保存更改并应用:
sudo netplan apply
配置防火墙(可选):
如果你需要开放Jellyfin的默认端口(8096),可以配置防火墙:
sudo apt install ufw
sudo ufw allow 8096/tcp
sudo ufw enable
配置Jellyfin访问:
在浏览器中输入你的服务器IP地址,例如 http://your_server_ip:8096,然后按照提示创建管理员账户并添加媒体库。
硬件加速:如果你使用的是NVIDIA显卡,可以安装Nvidia Container Toolkit以启用硬件加速:
curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
在运行Jellyfin容器时添加 --gpus all 参数:
sudo docker run -d \
--name jellyfin \
-p 8096:8096 \
-v /path/to/media:/media \
jellyfin/jellyfin --gpus all
反向代理(可选):使用Apache或Nginx作为反向代理,以提供更安全的访问和更好的性能。以下是使用Apache的示例:
sudo apt install apache2 certbot python3-certbot-apache -y
sudo mkdir -p /var/www/html/jellyfin/public_html
sudo chown -R www-data:www-data /var/www/html/jellyfin/public_html
sudo certbot certonly --agree-tos --email your_email@example.com --no-eff-email --webroot -w /var/www/html -d your_domain
sudo a2enmod proxy proxy_http ssl proxy_wstunnel remoteip http2 headers
sudo systemctl restart apache2
配置Apache虚拟主机:
sudo nano /etc/apache2/sites-available/jellyfin.conf
插入以下配置,根据需要更改域名、SSL证书路径和服务器IP地址:
<VirtualHost *:80>
ServerName your_domain
Redirect permanent / https://your_domain/
ErrorLog ${APACHE_LOG_DIR}/your_domain-error.log
CustomLog ${APACHE_LOG_DIR}/your_domain-access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName your_domain
DocumentRoot /var/www/html/jellyfin/public_html
ProxyPreserveHost On
ProxyPass "/.well-known/" "!"
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
ProxyPass "/socket" "ws://0.0.0.0:8096/socket"
ProxyPassReverse "/socket" "ws://0.0.0.0:8096/socket"
ProxyPass "/" "http://0.0.0.0:8096/"
ProxyPassReverse "/" "http://0.0.0.0:8096/"
SSLEngine on
SSLCertificateFile /path/to/your_domain.crt
SSLCertificateKeyFile /path/to/your_domain.key
</VirtualHost>
重启Apache:
sudo systemctl restart apache2
以上步骤应该能帮助你在Ubuntu上成功配置Jellyfin媒体服务器。如果在配置过程中遇到任何问题,可以参考Jellyfin的官方文档或社区论坛寻求帮助。