Contents

Navidrome là máy chủ âm nhạc tự lưu trữ hoàn hảo cho Raspberry Pi

Truyền phát nhạc là một tính năng của cuộc sống hiện đại và hầu hết mọi người đã quen với sự tiện lợi của các dịch vụ như Spotify và YouTube. Nếu bạn có một bộ sưu tập nhạc lớn thuộc sở hữu tư nhân, thay vào đó, bạn có thể sử dụng Navidrome để truyền các giai điệu yêu thích của mình tới thiết bị di động và nghe radio internet.

Tại sao nên sử dụng Navidrome để truyền phát nhạc từ Raspberry Pi của bạn?

/vi/images/man-wearing-headphones.jpg

Tích lũy thư viện âm nhạc phong phú là một trò tiêu khiển thú vị của nhiều người. Mặc dù thực tế là các dịch vụ phát trực tuyến nổi bật tự hào có kho lưu trữ khổng lồ các bài hát được cấp phép, nhưng việc tiếp cận các nhạc sĩ ít được biết đến hơn thường yêu cầu đăng ký có tính phí. Hơn nữa, trong vô số nền tảng phát trực tuyến hiện có, không có gì đảm bảo rằng dịch vụ ưa thích của một người sẽ liên tục duy trì các quyền đối với mọi sáng tác âm nhạc mà họ hiện cấp phép.

Việc chọn đăng ký miễn phí cho các nền tảng phát nhạc trực tuyến có thể dẫn đến các hoạt động thu thập dữ liệu và quảng cáo xâm phạm, điều này có thể tỏ ra khá khó chịu. Một giải pháp thay thế thực tế hơn là có được các tiết mục âm nhạc của riêng mình thông qua việc mua các bản nhạc hoặc album riêng lẻ hoặc bằng cách chuyển đổi bộ sưu tập CD vật lý hiện có của một người sang định dạng kỹ thuật số và phát trực tuyến nó.

Mopidy là một trong nhiều lựa chọn khả thi cho phép sử dụng Raspberry Pi làm thiết bị phát nhạc. Ngoài ra, trung tâm truyền thông trực tuyến Jellyfin có thể được sử dụng cho mục đích này. Điều đáng chú ý là việc tích hợp Nextcloud vào Raspberry Pi mang lại nhiều cơ hội để kết hợp các ứng dụng phát nhạc khác nhau.

Navidrome tạo sự khác biệt so với các đối thủ cạnh tranh khác bằng cách tập trung hoàn toàn vào sản xuất âm nhạc và cung cấp một số thuộc tính đặc biệt, bao gồm khả năng hoạt động liền mạch trên phần cứng tối giản như Raspberry Pi Zero.

Cách cài đặt Navidrome trên Raspberry Pi của bạn

Để thiết lập Navidrome trên Raspberry Pi của bạn, bạn phải thực hiện một số hành động sơ bộ. Đầu tiên, cần phải biến Raspberry Pi của bạn thành máy chủ lưu trữ web bằng cách tuân thủ một loạt hướng dẫn đơn giản. Mặc dù việc cài đặt MariaDB và PHP không bắt buộc đối với dự án cụ thể này, nhưng việc cài đặt chúng có thể mang lại lợi ích cho nhiều dự án lưu trữ Raspberry Pi hấp dẫn khác. Ngoài ra, hãy đảm bảo rằng bạn triển khai thủ công phiên bản Docker Compose mới nhất.

Kết nối với Raspberry Pi của bạn thông qua Secure Shell (SSH) và thiết lập cấu trúc thư mục mới bằng cách tạo các thư mục riêng cho Navidrome và các tệp liên quan của nó.

 ssh pi@your-pi-local-ip-address
mkdir navidrome navidrome/data 

Để quản lý hiệu quả các tệp phương tiện của bạn, điều quan trọng là thiết lập một vùng lưu trữ được chỉ định cho bộ sưu tập nhạc và video của bạn. Mặc dù không gian này có thể được đặt ở hầu hết mọi nơi bạn chọn, nhưng chúng tôi khuyên bạn nên chỉ định một thư mục cụ thể trong thư mục người dùng cá nhân của mình làm giải pháp tối ưu.

 mkdir music 

Để truyền các tệp phương tiện từ máy tính cá nhân sang Raspberry Pi, hãy bắt đầu phiên cuối mới trên thiết bị của bạn và sử dụng tiện ích Sao chép an toàn (SCP) để sao chép nội dung vào Raspberry Pi:

 scp -r /path/to/your/music/folder/* pi@your-pi-local-ip-address:~/music/ 

Để truy cập thư mục Navidrome qua SSH trên Raspberry Pi, hãy sử dụng giao diện dòng lệnh để điều hướng đến vị trí được chỉ định và sau đó sử dụng trình soạn thảo văn bản nano để tạo hoặc chỉnh sửa các tệp trong thư mục đó.

 cd navidrome
nano docker-compose.yml 

Thêm các dòng sau vào nó:

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

đầu tiên, nhấn “Ctrl + O” để thực hiện thao tác hoàn tác nếu cần trước khi lưu; thứ hai, nhấn “Ctrl + X” để xác nhận hành động lưu; cuối cùng, nhấn phím “Enter” hoặc nhấp vào nút “Save” trên thanh công cụ để hoàn tất quá trình.

/vi/images/pull-navidrome-with-docker-compose.jpg

docker-compose-f path/to/docker-compose.yml up--detach.

docker-compose up-d

Docker Compose được thiết kế để quản lý hiệu quả nhiều vùng chứa bằng cách tải xuống các tệp hình ảnh cần thiết và thiết lập vùng chứa Navidrome để có hiệu suất tối ưu. Sau khi quá trình thiết lập hoàn tất, bạn có thể truy cập ứng dụng thông qua trình duyệt web trên thiết bị cục bộ của mình bằng cách nhập địa chỉ IP của Raspberry Pi (địa chỉ này sẽ được hiển thị dưới dạng “your-pi-local-ip-address”) sau đó bằng 4533 trong thanh URL.

/vi/images/create-navidrome-admin-user.jpg

Để thiết lập tài khoản người dùng quản trị trên nền tảng này, vui lòng nhập tên người dùng và mật khẩu an toàn, sau đó xác thực bằng các thông tin xác thực này để có quyền truy cập. Khi đăng nhập, bạn sẽ nhận thấy ngay rằng tất cả các bộ sưu tập âm nhạc của bạn đều có sẵn để xem qua.

Làm cho phiên bản Navidrome của bạn có thể truy cập được trên Web

Truy cập bảng điều khiển của công ty đăng ký tên miền và điều hướng đến cài đặt DNS nâng cao cho tên miền của bạn. Tạo bản ghi A mới bằng cách chỉ định’@’trong trường máy chủ và nhập địa chỉ IP cục bộ của bạn vào trường giá trị. Ngoài ra, hãy đặt giá trị Thời gian tồn tại (TTL) ở mức thấp nhất cho phép.

Để tiến hành cấu hình cần thiết cho Raspberry Pi, bạn sẽ phải tạo tệp cấu hình Apache mới.

 cd /etc/apache2/sites-available/
sudo nano navidrome.conf 

Trong tài liệu sửa đổi, kết hợp văn bản sau:

 <VirtualHost *:80>

    ServerName muo.lol
    ProxyPass / http://127.0.0.1:4533/
    ProxyPassReverse / http:/127.0.0.1:4533/
    ProxyPreserveHost On

</VirtualHost> 

Để sử dụng trang web này, bạn cần chỉ định một tên miền duy nhất cho “muo.lol”. Điều này có thể đạt được bằng cách đăng ký và định cấu hình miền tùy chỉnh thông qua công ty đăng ký tên miền hoặc nhà cung cấp dịch vụ lưu trữ web mà bạn chọn. Bằng cách đó, bạn sẽ cho phép người dùng truy cập trang web bằng tên miền được chỉ định của bạn thay vì “muo.lol”, điều này giúp nâng cao cả chức năng và hình thức chuyên nghiệp.

Tóm lại, sử dụng Nano để tạo bản ghi TXT cho tên máy chủ mong muốn của bạn là một phương pháp hiệu quả để xác minh quyền sở hữu tên miền của bạn. Bằng cách thực hiện một loạt tổ hợp phím như “Ctrl + O”, tiếp theo là “Ctrl + X”, bạn có thể lưu và thoát Nano trong khi vẫn giữ mọi thay đổi được thực hiện trong trình chỉnh sửa. Để nâng cao hơn nữa các biện pháp bảo mật trên trang web của bạn, hãy cân nhắc sử dụng Let’s Encrypt và công cụ tự động hóa của nó, Certbot, để thu thập và triển khai các chứng chỉ và khóa Bảo mật lớp truyền tải (TLS) cho miền của bạn.

 sudo certbot 

Vui lòng chọn một tên miền từ danh sách được cung cấp và nhấn phím enter để tiếp tục.

Giờ đây, bạn có thể truy cập phiên bản Navidrome của mình thông qua trình duyệt web bằng cách sử dụng tên miền được chỉ định và tất cả các kết nối đã được chuyển đổi sang giao thức HTTPS an toàn.

Giao diện web Navidrome

/vi/images/navidrome-web-interface.jpg

Giao diện người dùng của nền tảng Navidrome được thiết kế có tính khả dụng cao, nổi bật với menu chính được hiển thị nổi bật dọc theo phía bên trái của màn hình. Nếu bố cục này tiêu tốn quá nhiều không gian trực quan, người dùng có thể tận dụng biểu tượng bánh hamburger nằm ngay phía trên, cho phép thu gọn cấu trúc menu một cách thuận tiện.

Khám phá thư viện âm nhạc phong phú của chúng tôi thông qua nhiều phương tiện khác nhau như nghệ sĩ, tên bài hát hoặc album. Ngoài ra, hãy xem qua các bản nhạc yêu thích của bạn, những bản nhạc được phát thường xuyên, những bản nhạc được phát trong thời gian gần đây và các bản ghi mới được thêm vào để có trải nghiệm nghe nâng cao.

Nếu sở thích âm nhạc của bạn không chắc chắn hoặc bạn tìm kiếm sự đa dạng, bạn có thể chọn danh sách phát được tạo ngẫu nhiên. Đáng tiếc, giao diện dựa trên web hiện tại không cung cấp khả năng tạo bản phối ngẫu hứng xoay quanh một bài hát cụ thể; tuy nhiên, chức năng này đã được lên kế hoạch đưa vào bản cập nhật sắp tới và có sẵn trong một số ứng dụng tương thích.

Giao diện của album trình bày nhiều chức năng khác nhau như phát toàn bộ album, thêm mục yêu thích và xếp hạng cho các bài hát cụ thể cũng như sắp xếp chúng trong danh sách phát hoặc hàng đợi để nghe trong tương lai.

Giao diện người dùng có một loạt các chức năng trên bảng điều khiển bên phải, bao gồm ba ký hiệu không xác định thể hiện các hoạt động riêng biệt. Bằng cách nhấp vào biểu tượng ban đầu, màn hình trực quan sẽ được cập nhật thông tin hiện tại. Lần nhấp tiếp theo sẽ tạo ra một tập hợp số liệu liên quan đến cài đặt Navidrome, bao gồm thời lượng hoạt động và tổng số thư mục. Ngoài ra, bằng cách chọn biểu tượng thứ ba, bạn có thể lựa chọn giữa các tùy chọn quét nhanh hoặc quét toàn diện để xử lý kho lưu trữ âm nhạc, việc này có thể yêu cầu khoảng thời gian kéo dài tùy thuộc vào độ lớn của dữ liệu được lưu trữ.

Tùy chọn menu cuối cùng liên quan đến các tác vụ quản trị, bao gồm các tùy chọn phụ cho phép bạn tùy chỉnh giao diện người dùng cá nhân của mình. Ngoài ra, bạn có khả năng thêm hoặc xóa người dùng cũng như truy cập vào bản ghi các ứng dụng và thiết bị khách đã sử dụng trước đó.

Thêm đài phát thanh vào Navidrome

/vi/images/stream-radio-on-navidrome.jpg

Chắc chắn, mặc dù việc thưởng thức kho tàng âm nhạc do cá nhân lựa chọn có thể trở nên đơn điệu theo thời gian, nhưng radio đóng vai trò như một phương tiện đặc biệt để khám phá những giai điệu mới cả trong và ngoài thể loại ưa thích của một người.

Mặc dù việc duyệt đài trực tuyến thật dễ dàng thông qua trình duyệt internet và việc xây dựng một đài phát thanh internet Raspberry Pi hỗ trợ cảm ứng cũng khả thi, việc kết hợp các đài phát thanh trong giao diện web của Navidrome cho phép người dùng truy cập các đài phát thanh và thư viện phương tiện của họ một cách liền mạch từ một vị trí.

Để kết hợp đài phát thanh trên Navidrome, hãy chọn tùy chọn “Radios” và cung cấp tên cho đài phát sóng ban đầu của bạn. Nhập URL phát trực tuyến của đài, cùng với URL trang chủ của đài tùy chọn. Khi bạn đã nhập thông tin cần thiết, hãy nhấp vào nút “Lưu” để hoàn tất việc bổ sung của bạn. Bạn có thể bao gồm nhiều đài phát thanh trong phần “Radios” và tất cả các đài sẽ có thể truy cập được qua tab này.

Ứng dụng di động cho Navidrome

Bằng cách kết hợp chức năng của một ứng dụng web tiến bộ trong giao diện thân thiện với người dùng khi cài đặt Navidrome, chúng tôi đã đảm bảo hiệu suất tối ưu trên tất cả các thiết bị, bao gồm cả những thiết bị có màn hình nhỏ hơn. Tuy nhiên, điều quan trọng cần lưu ý là khả năng tương thích vượt ra ngoài giao diện web cụ thể này, vì Navidrome hoàn toàn tương thích với nhiều loại máy khách cận âm. Với nhiều tùy chọn có sẵn, người dùng có thể dễ dàng khám phá và tải xuống các ứng dụng Subsonic ưa thích của mình bằng cách thực hiện tìm kiếm đơn giản trên cửa hàng ứng dụng đã chọn.

Bằng cách sử dụng máy chủ Navidrome chạy trên Raspberry Pi, bạn có thể phát các lựa chọn âm nhạc được cá nhân hóa của mình từ bất kỳ vị trí nào trên toàn cầu. Tuy nhiên, khả năng của Raspberry Pi còn vượt xa chức năng này. Đối với những người có thư viện phim phong phú và không muốn phụ thuộc vào các dịch vụ phát trực tuyến như Netflix, Disney hoặc HBO, Jellyfin cung cấp một giải pháp thay thế khả thi để cài đặt.