Language: vi
Jellyfin trên VPS: cách tạo máy chủ đa phương tiện của riêng bạn
Một thư mục đầy video hiếm khi giống một thư viện đa phương tiện tiện dụng: tên tệp không nhất quán, tệp phụ đề nằm riêng và phải tự tìm tập phù hợp. Jellyfin biến kho lưu trữ như vậy thành dịch vụ phát trực tuyến cá nhân với áp phích, mô tả, hồ sơ người dùng và tiến độ xem.
Đồng thời, Jellyfin không bán gói đăng ký và không cung cấp danh mục nội dung có sẵn. Dịch vụ làm việc với tệp của bạn và có thể chạy trên máy tính gia đình, NAS hoặc VPS. Dưới đây chúng ta sẽ xem các tính năng, yêu cầu máy chủ và cách cài đặt trên Ubuntu với tên miền cùng HTTPS.
Jellyfin là gì và vì sao bạn có thể cần nó?
Jellyfin là máy chủ đa phương tiện miễn phí, mã nguồn mở. Máy chủ lập chỉ mục phim, chương trình truyền hình, nhạc, ảnh và nội dung khác, còn ứng dụng khách phát chúng trên điện thoại, máy tính hoặc TV.
Sau khi quét thư mục, Jellyfin tải áp phích và mô tả, sắp xếp chương trình theo mùa, ghi nhớ tiến độ xem và hiển thị mục “Tiếp tục xem”. Bạn có thể tạo hồ sơ cục bộ riêng cho các thành viên gia đình, giới hạn quyền truy cập thư viện và cấu hình kiểm soát phụ huynh. Quick Connect cho phép đăng nhập trên TV bằng mã ngắn thay vì nhập mật khẩu dài.
Ứng dụng khách có sẵn cho Android, iOS, Android TV, Roku, webOS, Tizen, Xbox và máy tính để bàn. Jellyfin cũng cung cấp giao diện web và tích hợp Kodi.
Jellyfin còn hỗ trợ nhạc, IPTV, bộ thu TV và ghi truyền hình trực tiếp. SyncPlay đồng bộ phát lại cho nhiều người dùng, trong khi plugin bổ sung phụ đề, nguồn siêu dữ liệu mới và các tích hợp.
Jellyfin không tự tìm hoặc tải phim. Dịch vụ chỉ sắp xếp và phát nội dung mà chủ máy chủ đã có.
Jellyfin và Plex: những khác biệt chính
Cả hai giải pháp đều biến bộ sưu tập cục bộ thành dịch vụ đa phương tiện, nhưng chúng sử dụng các mô hình khác nhau.
| Tham số | Jellyfin | Plex |
|---|---|---|
| Mã nguồn | Mã nguồn mở | Độc quyền |
| Tính năng cao cấp | Máy chủ và ứng dụng khách chính thức không có cấp trả phí | Một số tính năng phụ thuộc gói đăng ký |
| Tài khoản trung tâm | Không bắt buộc | Sử dụng hệ sinh thái của nhà cung cấp |
| Truy cập từ xa | Chủ sở hữu cấu hình tên miền, reverse proxy hoặc VPN | Cung cấp nhiều cơ chế sẵn sàng hơn |
| Quyền kiểm soát dữ liệu | Tối đa | Một phần hạ tầng do nhà cung cấp kiểm soát |
Mọi người chọn Jellyfin vì tính độc lập, riêng tư và không có gói đăng ký. Plex có thể thuận tiện hơn khi ưu tiên hàng đầu là thiết lập đơn giản nhất và ứng dụng được hoàn thiện nhất quán trên mọi thiết bị.
Direct Play hay chuyển mã: điều gì tạo tải cho máy chủ?
Hiệu năng Jellyfin phụ thuộc vào phương thức phát lại nhiều hơn là kích thước thư viện.
| Chế độ | Điều xảy ra | Tải |
|---|---|---|
| Direct Play | Máy chủ gửi tệp gốc | Thấp |
| Direct Stream | Container hoặc một track riêng lẻ được thay đổi | Thấp hoặc trung bình |
| Transcoding | Codec, độ phân giải hoặc bitrate được thay đổi khi đang phát | Cao |
Nếu TV hỗ trợ codec, âm thanh và phụ đề của tệp, máy chủ hầu như không dùng CPU. Vấn đề bắt đầu khi thiết bị khách không xử lý được định dạng, kết nối yêu cầu bitrate thấp hơn hoặc phụ đề phải được ghi trực tiếp lên hình ảnh. Khi đó Jellyfin khởi chạy FFmpeg và chuyển mã video theo thời gian thực.
Chuyển đổi 4K, HEVC, HDR và HDR sang SDR đặc biệt nặng. VPS thông thường không có bộ xử lý đồ họa có thể gặp khó khăn dù có nhiều lõi CPU ảo. Vì vậy, định dạng tương thích và Direct Play đôi khi giúp tiết kiệm nhiều hơn việc chuyển sang gói máy chủ tiếp theo.
Jellyfin cần loại máy chủ nào?
Khuyến nghị chính thức cho cài đặt điển hình là khoảng 8 GB RAM. Trên Linux không có giao diện đồ họa, máy chủ nhỏ có thể hoạt động với 4 GB. Cần một ổ đĩa nhanh cho hệ điều hành, cơ sở dữ liệu, hình ảnh, bộ nhớ đệm và tệp tạm; thư viện đa phương tiện được lưu riêng và thường chiếm phần lớn dung lượng.
| Tình huống | Cấu hình khởi điểm | Ghi chú |
|---|---|---|
| Nhạc và một luồng Direct Play 1080p | 2 vCPU, 4 GB RAM | Tốc độ mạng và đĩa quan trọng hơn |
| Thư viện đa phương tiện nhỏ cho gia đình | 4 vCPU, 8 GB RAM | Nên dùng định dạng tương thích |
| Thỉnh thoảng chuyển mã 1080p | 4–8 vCPU hiệu năng cao hoặc GPU | Tải phụ thuộc codec |
| Một số luồng 4K/HDR | iGPU Intel hiện đại hoặc card đồ họa | VPS chỉ có CPU thông thường không phù hợp |
Đừng quên tính cả lưu lượng: một luồng 20 Mbps truyền khoảng 9 GB dữ liệu mỗi giờ. Nếu xem hằng ngày, mức sử dụng có thể nhanh chóng lên tới hàng trăm gigabyte mỗi tháng.
Máy chủ gia đình hay VPS?
Mini PC hoặc NAS tại nhà tiết kiệm hơn cho bộ sưu tập nhiều terabyte và việc chuyển mã bằng phần cứng thường xuyên. Bạn có thể lắp ổ dung lượng lớn và chọn bộ xử lý có Intel Quick Sync, nhưng truy cập từ xa phụ thuộc vào điện, kết nối Internet gia đình và khả năng có địa chỉ IP công khai.
VPS có địa chỉ công khai, kết nối ổn định và hoạt động suốt ngày đêm. Nó thuận tiện cho nhạc, thư viện video nhỏ, Direct Play và người dùng ở nhiều địa điểm. Hạn chế là chi phí lưu trữ và không có GPU trong các gói tiêu chuẩn.
Cũng có lựa chọn lai: tệp vẫn ở nhà, còn VPS đóng vai trò điểm vào an toàn. Cách này hữu ích khi không có IPv4 công khai, nhưng tốc độ phát vẫn bị giới hạn bởi băng thông tải lên của kết nối gia đình.
Cài Jellyfin trên Ubuntu bằng Docker Compose
Trong thiết lập dưới đây, Jellyfin và Caddy chạy trên cùng mạng Docker. Cổng 8096 không được mở ra Internet; Caddy nhận kết nối HTTPS và tự động lấy chứng chỉ.
Trước tiên, trỏ bản ghi A của tên miền, ví dụ media.example.com, đến địa chỉ IP của máy chủ.
1. Cài Docker và tạo thư mục
sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker
sudo mkdir -p /opt/jellyfin/{config,cache,caddy-data,caddy-config}
sudo mkdir -p /srv/media/{movies,series,music}
cd /opt/jellyfin2. Tạo /opt/jellyfin/compose.yaml
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
volumes:
- ./config:/config
- ./cache:/cache
- /srv/media:/media:ro
networks: [media]
caddy:
image: caddy:2
container_name: jellyfin-caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
networks: [media]
networks:
media:Tùy chọn :ro mount thư viện đa phương tiện ở chế độ chỉ đọc và bảo vệ tệp gốc khỏi bị xóa nhầm qua Jellyfin.
3. Tạo /opt/jellyfin/Caddyfile
media.example.com {
reverse_proxy jellyfin:8096
}Thay tên miền bằng tên của bạn, khởi động các container và mở những cổng cần thiết:
sudo docker compose up -d
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enableNếu SSH dùng cổng khác, hãy cho phép cổng đó bằng một quy tắc riêng trước khi chạy ufw enable.
Sau khi chứng chỉ được cấp, hãy mở https://media.example.com. Trong cài đặt mạng Jellyfin, thêm reverse proxy vào danh sách proxy đáng tin cậy để các giới hạn truy cập bên ngoài hoạt động chính xác.
Thiết lập thư viện đa phương tiện ban đầu
Trong trình hướng dẫn thiết lập, chọn ngôn ngữ, tạo quản trị viên và thêm các thư viện:
- phim —
/media/movies; - chương trình truyền hình —
/media/series; - nhạc —
/media/music.
Dùng tên rõ ràng để nhận diện chính xác:
/media/movies/Movie Title (2024)/Movie Title (2024).mkv
/media/series/Series Title (2024)/Season 01/Series Title S01E01.mkvTạo một hồ sơ tiêu chuẩn riêng để xem và ẩn tài khoản quản trị viên khỏi màn hình đăng nhập. Chỉ cấp cho người dùng quyền truy cập những thư viện họ cần và không cho phép xóa tệp nếu không cần thiết.
Cập nhật và sao lưu
Cấu hình Jellyfin chứa người dùng, cài đặt, cơ sở dữ liệu và tiến độ xem. Trước khi cập nhật, hãy dừng container và lưu thư mục config:
cd /opt/jellyfin
sudo docker compose stop jellyfin
sudo tar -czf /root/jellyfin-config-$(date +%F).tar.gz config
sudo docker compose start jellyfinChuyển bản lưu trữ ra ngoài VPS. Sao lưu riêng các tệp đa phương tiện.
Để cập nhật, chạy:
sudo docker compose pull
sudo docker compose up -dKhông mở trực tiếp cổng 8096. Hãy dùng HTTPS hoặc VPN, cài đặt cập nhật thường xuyên và theo dõi dung lượng đĩa còn trống.
Jellyfin trên VPS của tropic.host
Với thư viện nhỏ chủ yếu dùng Direct Play, bạn có thể bắt đầu bằng VPS Linux 4 GB RAM. Với nhiều người dùng, cơ sở dữ liệu lớn và các dịch vụ bổ sung, 8 GB là lựa chọn hợp lý hơn.
Khi chọn VPS từ tropic.host, hãy đánh giá riêng dung lượng lưu trữ, lưu lượng hằng tháng và nhu cầu chuyển mã. Máy chủ ảo thuận tiện như một điểm cuối luôn sẵn sàng với IP công khai và HTTPS, nhưng không thay thế được máy chủ có GPU. Nếu cần nhiều luồng 4K/HDR kèm chuyển đổi định dạng, máy chủ gia đình có iGPU Intel, máy chủ riêng hoặc gói chuyên dụng có card đồ họa sẽ phù hợp hơn.
Bạn có thể bắt đầu với bộ sưu tập nhỏ, kiểm tra tỷ lệ phiên Direct Play trong bảng điều khiển Jellyfin rồi chỉ tăng CPU, RAM hoặc bộ nhớ theo tải thực tế.
Tóm tắt
Jellyfin biến bộ sưu tập của bạn thành dịch vụ phát trực tuyến cá nhân mà không cần gói đăng ký bắt buộc hay tài khoản trung tâm. Để triển khai thành công, cần ước tính trước dung lượng lưu trữ, lưu lượng và khả năng phải chuyển mã.
Một máy chủ nhỏ dùng Direct Play thường có thể hoạt động với 4–8 GB RAM. Phát 4K/HDR thường xuyên cần xử lý video bằng phần cứng. Dù cấu hình nào, hãy bảo vệ truy cập bên ngoài bằng HTTPS hoặc VPN và sao lưu riêng cài đặt cùng thư viện đa phương tiện.
FAQ
Jellyfin có hoàn toàn miễn phí không?
Có. Máy chủ và ứng dụng khách được cung cấp mà không cần gói cao cấp. Bạn chỉ phải trả tiền cho phần cứng, VPS, ổ đĩa, tên miền và lưu lượng.
Jellyfin có sẵn phim và chương trình truyền hình để xem không?
Không. Người dùng tự thêm các tệp đa phương tiện của mình.
Jellyfin có thể chạy trên VPS không có card đồ họa không?
Có, nếu phần lớn tệp được phát bằng Direct Play. Chuyển mã 4K và HDR thường xuyên cần máy chủ có iGPU hoặc card đồ họa phù hợp.
Jellyfin cần bao nhiêu RAM?
Máy chủ Linux nhỏ có thể chạy với 4 GB RAM. Với thư viện gia đình và nhiều người dùng, 8 GB là mục tiêu tốt hơn.
Làm thế nào để truy cập Jellyfin an toàn qua Internet?
Hãy dùng tên miền và HTTPS thông qua reverse proxy hoặc dùng VPN. Không mở trực tiếp cổng 8096, đồng thời tạo tài khoản riêng với quyền tối thiểu.
