搬瓦工搭建 Jellyfin 私人媒体服务器

Jellyfin 是一款完全免费开源的媒体服务器软件,可以管理和串流你的电影、电视剧、音乐和照片。与 Plex 和 Emby 不同,Jellyfin 没有任何付费限制,所有功能完全开放。本文将在搬瓦工 VPS 上通过 Docker 部署 Jellyfin。

一、方案推荐

Jellyfin 对服务器配置的需求取决于使用方式:

  • 直接播放(Direct Play):客户端支持媒体格式时直接传输,服务器负载很低,1 核 1GB 即可。
  • 软件转码:客户端不支持的格式需要服务器实时转码,至少需要 2 核 2GB。
  • 多用户同时串流:每个转码流需要约 1 核 CPU,建议 4 核 4GB 以上。

存储空间根据媒体文件大小确定。搬瓦工 VPS 磁盘空间有限,建议存放经过压缩的媒体文件。具体方案参考 全部在售方案

二、前置准备

  • 已安装 Docker 和 Docker Compose,参考 Docker 安装教程
  • 域名已解析到服务器 IP(可选,也可通过 IP 直接访问)。

三、创建目录结构

mkdir -p /opt/jellyfin
mkdir -p /opt/media/movies
mkdir -p /opt/media/tvshows
mkdir -p /opt/media/music
cd /opt/jellyfin

目录说明:

  • /opt/jellyfin:Jellyfin 配置文件目录。
  • /opt/media/movies:电影文件存放目录。
  • /opt/media/tvshows:电视剧文件存放目录。
  • /opt/media/music:音乐文件存放目录。

四、编写 Docker Compose 文件

nano docker-compose.yml
version: '3.8'

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    restart: always
    ports:
      - "8096:8096"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - jellyfin_config:/config
      - jellyfin_cache:/cache
      - /opt/media:/media:ro
    # 如果需要硬件转码,取消下面的注释
    # devices:
    #   - /dev/dri:/dev/dri

volumes:
  jellyfin_config:
  jellyfin_cache:

配置说明:

  • 媒体目录以只读(:ro)方式挂载,防止 Jellyfin 意外修改源文件。
  • 时区设为 Asia/Shanghai,方便查看日志和管理。
  • 默认端口 8096,可根据需要修改。

五、启动服务

docker compose up -d

验证运行状态:

docker compose ps
docker compose logs -f

六、初始化配置

在浏览器中访问 http://服务器IP:8096,进入 Jellyfin 初始设置向导:

  1. 语言选择:选择"简体中文"。
  2. 创建管理员账号:设置用户名和密码。
  3. 添加媒体库:点击"添加媒体库",选择内容类型(电影/电视节目/音乐),指定对应的文件夹路径。
  4. 元数据语言:选择"Chinese",国家选"People's Republic of China"。
  5. 远程访问:勾选"允许远程连接到此服务器"。
  6. 完成设置。

媒体库路径对应关系

内容类型容器内路径宿主机路径
电影/media/movies/opt/media/movies
电视节目/media/tvshows/opt/media/tvshows
音乐/media/music/opt/media/music

七、上传媒体文件

将媒体文件上传到对应目录。可以使用 SCP、SFTP 或 rsync:

# 使用 SCP 上传文件
scp -P SSH端口 movie.mp4 root@服务器IP:/opt/media/movies/

# 使用 rsync 同步目录
rsync -avz -e "ssh -p SSH端口" ./movies/ root@服务器IP:/opt/media/movies/

文件命名规范

为了让 Jellyfin 正确识别和刮削元数据,建议按以下格式命名:

# 电影
/movies/电影名 (年份)/电影名 (年份).mp4
例如:/movies/Inception (2010)/Inception (2010).mp4

# 电视剧
/tvshows/剧名/Season 01/剧名 S01E01.mp4
例如:/tvshows/Breaking Bad/Season 01/Breaking Bad S01E01.mp4

八、配置 Nginx 反向代理(可选)

如果你有域名并希望通过 HTTPS 访问:

apt install nginx certbot python3-certbot-nginx -y
nano /etc/nginx/sites-available/jellyfin
server {
    listen 80;
    server_name your-domain.com;

    client_max_body_size 20M;

    location / {
        proxy_pass http://127.0.0.1:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # WebSocket 支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
certbot --nginx -d your-domain.com

九、转码设置

在 Jellyfin 管理后台进入"控制面板" > "播放" > "转码",可以配置转码相关选项:

9.1 软件转码

搬瓦工 VPS 没有独立 GPU,默认使用 CPU 软件转码。在转码设置中:

  • 硬件加速选择"无"。
  • 转码线程数设为 0(自动检测)或 VPS CPU 核数。
  • 启用"在不支持的媒体格式时允许转码"。

9.2 优化转码性能

为了减少转码需求,建议:

  • 尽量使用 H.264 编码的 MP4 文件,大多数设备原生支持。
  • 避免使用 HEVC/H.265 编码,许多设备需要转码才能播放。
  • 在客户端设置中选择"原始"或"最大"画质,避免不必要的转码。

十、用户管理

在管理后台的"用户"页面可以创建多个用户,为每个用户设置不同的权限:

  • 控制可访问的媒体库。
  • 设置最大串流比特率。
  • 限制同时播放设备数量。
  • 启用或禁用转码权限。

十一、客户端连接

Jellyfin 支持丰富的客户端:

  • Web 浏览器:直接访问 Jellyfin 地址即可播放。
  • Android:Google Play 下载 Jellyfin 应用。
  • iOS:App Store 下载 Jellyfin 应用(或 Swiftfin)。
  • Android TV:下载 Jellyfin for Android TV。
  • Kodi:安装 Jellyfin for Kodi 插件。
  • 桌面端:Jellyfin Media Player(基于 mpv)。

客户端连接时填写服务器地址:http://服务器IP:8096https://your-domain.com

十二、插件推荐

在管理后台的"插件"页面可以安装扩展功能:

  • Open Subtitles:自动下载字幕。
  • Fanart:获取高质量封面和背景图片。
  • TMDb:从 The Movie Database 获取电影和剧集元数据。
  • Playback Reporting:播放统计和报告。

十三、常见问题

播放时缓冲严重

可能原因:1)带宽不足,检查 VPS 和客户端的网络速度;2)正在转码且 CPU 性能不够,尝试使用直接播放兼容的格式;3)降低客户端的播放画质设置。

无法刮削元数据

确保文件命名规范,重新扫描媒体库。也可以手动搜索并匹配元数据。

磁盘空间不足

Jellyfin 的元数据和缓存也会占用空间。清理转码临时文件:

docker exec jellyfin-jellyfin-1 rm -rf /cache/transcodes/*

总结

Jellyfin 是搭建私人媒体服务器的绝佳选择,完全免费且功能丰富。搬瓦工 VPS 的大带宽适合串流媒体内容,CN2 GIA 线路可以为国内用户提供不错的观看体验。购买 VPS 时使用优惠码 NODESEEK2026 享受折扣,更多教程请参考 新手教程

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。