Quay lại danh sách
Tin tức công nghệ

Hướng Dẫn Tự Dựng Dịch Vụ Lưu Trữ Nhạc Chất Lượng Cao Navidrome Trên VPS Và Kết Nối Qua Subsonic

29 tháng 5, 2026

Giới thiệu về xu hướng tự lưu trữ (Self-hosting) và Navidrome

Trong kỷ nguyên số hiện nay, các dịch vụ phát nhạc trực tuyến như Spotify, Apple Music hay Tidal đã trở nên quá quen thuộc. Tuy nhiên, đối với những người đam mê âm thanh chất lượng cao (Audiophiles) hoặc các nhà quản lý công nghệ coi trọng quyền riêng tư dữ liệu, các nền tảng này vẫn tồn tại nhiều hạn chế. Việc thay đổi bản quyền nhạc khiến bài hát yêu thích biến mất, chi phí thuê bao tăng đều đặn hàng năm, và sự phụ thuộc hoàn toàn vào kết nối internet của bên thứ ba là những lý do thúc đẩy xu hướng Self-hosting (tự lưu trữ) phát triển mạnh mẽ.

Trong số các giải pháp máy chủ âm nhạc hiện nay, Navidrome nổi lên như một nền tảng mã nguồn mở xuất sắc nhất. Được viết bằng ngôn ngữ Go, Navidrome cực kỳ nhẹ, tối ưu hóa hiệu năng vượt trội và có khả năng tương thích hoàn hảo với giao thức Subsonic kinh điển. Bài viết này sẽ hướng dẫn bạn từng bước chi tiết để triển khai hệ thống lưu trữ và phát nhạc chất lượng cao của riêng mình trên một máy chủ ảo cá nhân (VPS).

Tại sao nên chọn Navidrome làm máy chủ âm nhạc cá nhân?

So với các giải pháp đình đám khác như Plex hay Jellyfin (vốn tối ưu hơn cho video), Navidrome được thiết kế chuyên biệt và thuần túy dành cho âm nhạc. Dưới đây là những lý do cốt lõi khiến doanh nghiệp và cá nhân ưu tiên lựa chọn giải pháp này:

  • Hiệu năng siêu nhẹ: Navidrome có thể chạy mượt mà trên các gói VPS cấu hình thấp nhất (chỉ cần 1 vCPU và 512MB RAM), giúp tiết kiệm tối đa chi phí vận hành hàng tháng.
  • Hỗ trợ định dạng chất lượng cao: Tự động quét và phát các định dạng âm thanh nén không mất dữ liệu (Lossless) như FLAC, WAV, AIFF, bên cạnh các định dạng phổ biến như MP3, AAC, OGG.
  • Hệ sinh thái ứng dụng phong phú: Nhờ tích hợp API Subsonic, Navidrome có thể kết nối với hàng chục ứng dụng bên thứ ba trên mọi nền tảng di động và máy tính.
  • Tính năng quản lý thông minh: Tự động đọc Metadata (thẻ ID3), hiển thị ảnh bìa album (Album Art), tiểu sử nghệ sĩ, lời bài hát, và hỗ trợ tạo danh sách phát đa dạng.

Chuẩn bị tài nguyên trước khi cài đặt

Để hệ thống hoạt động ổn định và có thể truy cập từ bất kỳ đâu, bạn cần chuẩn bị các thành phần cơ bản sau:

  1. Một máy chủ VPS: Hệ điều hành Ubuntu Server (20.04 hoặc 22.04 LTS được khuyến nghị). Bạn có thể thuê từ các nhà cung cấp như DigitalOcean, Linode, Vultr hoặc các nhà cung cấp tại Việt Nam.
  2. Một tên miền (Domain Name): Dùng để cấu hình SSL (HTTPS) giúp mã hóa dòng truyền thanh truyền tải dữ liệu nhạc một cách an toàn.
  3. Cài đặt sẵn Docker và Docker Compose: Công cụ giúp đóng gói và triển khai Navidrome nhanh chóng, cô lập môi trường tránh xung đột hệ thống.

Hướng dẫn cài đặt Navidrome từng bước bằng Docker Compose

Sử dụng Docker Compose là phương pháp quản lý dịch vụ chuyên nghiệp và dễ nâng cấp nhất hiện nay. Hãy thực hiện theo các bước bảo mật dưới đây.

Bước 1: Kết nối VPS và tạo cấu trúc thư mục

Đầu tiên, hãy truy cập vào VPS của bạn qua SSH và tạo các thư mục cần thiết để lưu trữ tệp cấu hình cấu hình và dữ liệu nhạc:

mkdir -p ~/navidrome/data ~/navidrome/music
cd ~/navidrome

Thư mục data sẽ chứa cơ sở dữ liệu của Navidrome (thông tin người dùng, playlist, lịch sử nghe), trong khi thư mục music là nơi bạn tải các file nhạc chất lượng cao của mình lên.

Bước 2: Tạo file cấu hình docker-compose.yml

Sử dụng trình chỉnh sửa văn bản (như nano) để tạo file cấu hình:

nano docker-compose.yml

Sao chép và dán nội dung cấu hình chuẩn hóa sau vào file:

version: "3"
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000
ports:
- "4533:4533"
restart: unless-stopped
environment:
ND_SCANINTERVAL: "1m"
ND_LOGLEVEL: "info"
ND_SESSIONTIMEOUT: "24h"
ND_BASEURL: ""
volumes:
- ./data:/data
- ./music:/music:ro

Lưu ý: Tham số :ro (Read-Only) gán cho thư mục music nhằm đảm bảo an toàn dữ liệu, ngăn chặn việc ứng dụng vô tình xóa hoặc sửa đổi file gốc của bạn.

Bước 3: Khởi chạy dịch vụ

Kích hoạt container chạy ngầm bằng lệnh sau:

docker-compose up -d

Kiểm tra trạng thái hoạt động của hệ thống bằng lệnh docker-compose ps. Nếu trạng thái hiển thị "Up", dịch vụ của bạn đã sẵn sàng hoạt động nội bộ tại cổng 4533.

Cấu hình Reverse Proxy Nginx và thiết lập SSL mã hóa

Để truy cập an toàn qua môi trường internet công cộng với giao thức HTTPS, bạn cần thiết lập một Reverse Proxy. Trong bài viết này, chúng tôi khuyến khích sử dụng Nginx kết hợp với Certbot (Let's Encrypt) để lấy chứng chỉ SSL miễn phí.

Bước 1: Cài đặt Nginx

sudo apt update
sudo apt install nginx -y

Bước 2: Cấu hình Server Block cho Navidrome

Tạo file cấu hình mới cho tên miền của bạn (ví dụ: nhac.tenmienban.com):

sudo nano /etc/nginx/sites-available/navidrome

Nội dung cấu hình chuyển tiếp lưu lượng truy cập:

server {
listen 80;
server_name nhac.tenmienban.com;

location / {
proxy_pass http://127.0.0.1:4533;
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;
}
}

Kích hoạt cấu hình và khởi động lại Nginx:

sudo ln -s /etc/nginx/sites-available/navidrome /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Bước 3: Cài đặt SSL Let's Encrypt

Chạy các lệnh sau để tự động cấu hình chứng chỉ bảo mật HTTPS:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d nhac.tenmienban.com

Hệ thống sẽ tự động xác thực và cấu hình lại Nginx. Kể từ lúc này, bạn có thể truy cập vào giao diện web của Navidrome qua đường dẫn an toàn https://nhac.tenmienban.com để khởi tạo tài khoản Quản trị viên (Admin) đầu tiên.

Kết nối với ứng dụng điện thoại qua giao thức Subsonic

Điểm mạnh nhất của Navidrome là khả năng tương thích toàn diện với API Subsonic. Điều này mở ra cơ hội sử dụng vô số ứng dụng nghe nhạc cao cấp trên thiết bị di động với trải nghiệm mượt mà không thua kém các ứng dụng thương mại.

Các ứng dụng di động được đề xuất

  • Trên iOS (iPhone/iPad): Amperfy (Mã nguồn mở, giao diện hiện đại), play:Sub (Ổn định, nhiều tính năng), hoặc Substreamer.
  • Trên Android: Symfonium (Trình phát nhạc đỉnh cao nhất hiện nay, hỗ trợ tối ưu hóa bộ nhớ đệm), Dsub, hoặc Ultrasonic.

Quy trình kết nối chi tiết

Mở ứng dụng bạn đã tải về trên điện thoại và thiết lập tài khoản kết nối theo các trường thông tin tiêu chuẩn sau:

  1. Server URL / Address: Điền chính xác địa chỉ tên miền của bạn (ví dụ: https://nhac.tenmienban.com). Bắt buộc phải có tiền tố https:// để đảm bảo an toàn dữ liệu.
  2. Username: Tên tài khoản Admin hoặc tài khoản user bạn đã tạo trên giao diện Web của Navidrome.
  3. Password: Mật khẩu tương ứng của tài khoản đó.

Sau khi nhấn "Connect" hoặc "Login", ứng dụng sẽ tự động đồng bộ hóa toàn bộ thư viện nhạc, danh sách phát và ảnh bìa từ VPS về điện thoại của bạn. Bạn có thể tận dụng tính năng Download/Offline Cache trên các ứng dụng này để tải nhạc trực tiếp vào bộ nhớ máy, phục vụ nhu cầu thưởng thức âm nhạc đỉnh cao ngay cả khi di chuyển qua những vùng không có sóng mạng.

Lời kết

Xây dựng một máy chủ âm nhạc cá nhân bằng Navidrome trên VPS không chỉ là giải pháp công nghệ giúp tối ưu hóa chi phí, mà còn là cách bạn khẳng định quyền làm chủ hoàn toàn đối với tài sản số của mình. Không còn quảng cáo phiền toái, không còn nỗi lo mất bài hát yêu thích, mọi giai điệu chất lượng cao nhất hiện nay đều nằm trọn trong tầm tay bạn một cách an toàn và bảo mật.

Hướng Dẫn Tự Dựng Dịch Vụ Lưu Trữ Nhạc Chất Lượng Cao Navidrome Trên VPS Và Kết Nối Qua Subsonic | DPTCloud