Jellyfin logoMedia Server

Jellyfin

Media server mã nguồn mở, phát phim, nhạc và ảnh cá nhân thay cho Plex.

Ghi chú review

Hỗ trợ hardware transcoding với GPU. Nên mount thư mục media riêng và cấu hình thư viện trước khi mời người dùng.

Hướng dẫn deploy

Chạy một container Docker duy nhất, mount thư mục media và cấu hình transcoding nếu cần.

  1. Tạo thư mục lưu trữ media (phim, nhạc, ảnh) trên host.
  2. Chạy container Jellyfin với volume mount cho media và config.
  3. Mở web UI, tạo tài khoản admin và cấu hình thư viện media.
  4. Bật hardware transcoding trong Settings nếu có GPU.
  5. Đặt reverse proxy HTTPS nếu truy cập từ internet.
Backup:Backup thư mục config chứa database và metadata. Media files nên có backup riêng.

Copy để chạy trên server

Dùng từng block riêng: lưu compose trước, hoặc copy script bash để tạo file và chạy container.

docker-compose.ymlyaml
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /path/to/media:/media:ro
    ports:
      - "8096:8096"
    environment:
      JELLYFIN_PublishedServerUrl: "http://SERVER_IP:8096"
    restart: unless-stopped
setup.shbash
#!/usr/bin/env bash
set -euo pipefail

sudo mkdir -p /opt/jellyfin
sudo chown "$USER":"$USER" /opt/jellyfin
cd /opt/jellyfin

cat > docker-compose.yml <<'COMPOSE'
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /path/to/media:/media:ro
    ports:
      - "8096:8096"
    environment:
      JELLYFIN_PublishedServerUrl: "http://SERVER_IP:8096"
    restart: unless-stopped
COMPOSE

docker compose up -d
echo "Jellyfin is running on http://SERVER_IP:8096"

Stack

C#Docker