124 lines
No EOL
7.8 KiB
Markdown
124 lines
No EOL
7.8 KiB
Markdown
**Navidrome** — це один із найкращих сучасних опенсорсних серверів для стримінгу власної музичної колекції. Якщо у вас є велика медіатека на жорстких дисках (у форматах MP3, FLAC, AAC тощо) і ви хочете мати свій власний «домашній Spotify», не залежачи від хмарних підписок, Navidrome підходить для цього ідеально.
|
||
|
||
## 🎧 Огляд Navidrome: Чому він крутий?
|
||
|
||
- **Неймовірна швидкість та легкість:** Написаний на Go та React, він споживає мінімум ресурсів оперативної пам'яті та процесора. Працює стабільно навіть на слабкому залізі чи Raspberry Pi.
|
||
|
||
- **Транскодування на льоту:** Якщо у вас вся музика у «важкому» FLAC, а ви слухаєте її в дорозі через мобільний інтернет, Navidrome може автоматично стискати аудіопотік (наприклад, в OPUS чи MP3), щоб економити трафік.
|
||
|
||
- **Сумісність із Subsonic API:** Це головна фішка. Navidrome використовує перевірений часом стандарт (Subsonic/OpenSubsonic API). Це означає, що вам не потрібно обмежуватися лише веб-інтерфейсом — до нього підходять десятки вже створених крутих плеєрів для смартфонів та ПК.
|
||
|
||
- **Розумний менеджмент:** Автоматично підтягує обкладинки альбомів, біографії виконавців, підтримує роботу з тегами та файлами синхронізованих текстів пісень (`.lrc`).
|
||
|
||
|
||
## 🛠️ Як встановити Navidrome через Docker Compose
|
||
|
||
Найбільш надійний, чистий та ізольований спосіб розгортання — використання Docker. Оскільки ви, ймовірно, керуєте сервісами у домашній інфраструктурі, нижче наведено стандартний конфіг `docker-compose.yml`.
|
||
|
||
### Крок 1: Підготовка папок
|
||
|
||
Створіть директорію для проєкту (наприклад, у домашній папці):
|
||
|
||
Bash
|
||
|
||
```
|
||
mkdir -p ~/navidrome && cd ~/navidrome
|
||
```
|
||
|
||
### Крок 2: Створення файлу конфігурації
|
||
|
||
Створіть файл `docker-compose.yml` з наступним вмістом:
|
||
|
||
YAML
|
||
|
||
```
|
||
version: "3"
|
||
services:
|
||
navidrome:
|
||
image: deluan/navidrome:latest
|
||
container_name: navidrome
|
||
user: "1000:1000" # Замініть на PUID:PGID вашого користувача в системі
|
||
ports:
|
||
- "4533:4533"
|
||
restart: unless-stopped
|
||
environment:
|
||
ND_SCANSCHEDULE: "1h" # Як часто сканувати папку на наявність нових треків
|
||
ND_LOGLEVEL: "info"
|
||
ND_SESSIONTIMEOUT: "24h"
|
||
ND_DEFAULTTHEME: "Dark"
|
||
volumes:
|
||
- "./data:/data" # Папка для бази даних та кешу Navidrome
|
||
- "/шлях/до/вашої/музики:/music:ro" # Абсолютний шлях до вашої музичної бібліотеки (тільки читання)
|
||
```
|
||
|
||
> ⚠️ **Важливо:** Обов'язково змініть `/шлях/до/вашої/музики` на реальний шлях, де на вашому сервері лежать аудіофайли. Прапорець `:ro` (read-only) гарантує, що сервер випадково нічого не видалить і не змінить у вашій колекції.
|
||
```
|
||
version: "3.8"
|
||
|
||
services:
|
||
navidrome:
|
||
image: deluan/navidrome
|
||
ports:
|
||
- "4533:4533"
|
||
restart: unless-stopped
|
||
environment:
|
||
ND_LOGLEVEL: info
|
||
ND_SCANSCHEDULE: "1h" # Як часто сканувати папку на наявність нових треків
|
||
ND_LOGLEVEL: "info"
|
||
ND_SESSIONTIMEOUT: "24h"
|
||
ND_DEFAULTTHEME: "Dark"
|
||
volumes:
|
||
# Локальні дані Navidrome
|
||
- /home/alexander/navidrome/data:/data
|
||
# Існуюча папка "music" на диску для завантаження та видалення музики
|
||
- /mnt/docker_data/music:/music
|
||
|
||
networks:
|
||
- navidrome_net
|
||
|
||
networks:
|
||
navidrome_net:
|
||
driver: bridge
|
||
|
||
volumes:
|
||
sftpgo_music:
|
||
external: true
|
||
```
|
||
``
|
||
### Крок 3: Запуск
|
||
|
||
Запустіть контейнер у фоновому режимі:
|
||
|
||
Bash
|
||
|
||
```
|
||
docker compose up -d
|
||
```
|
||
|
||
Після цього відкрийте браузер за адресою `http://IP_вашого_сервера:4533`. При першому вході система попросить вас створити обліковий запис адміністратора, після чого почнеться індексація вашої музики.
|
||
|
||
## 📱 Мобільні додатки для роботи з Navidrome
|
||
|
||
Оскільки сервер сумісний із Subsonic API, вибір клієнтів величезний. У налаштуваннях додатків зазвичай достатньо вказати адресу вашого сервера (`http://IP:4533`), логін та пароль.
|
||
|
||
### Для Android 🤖
|
||
|
||
1. **Symfonium (Рекомендовано):** Мабуть, найкращий аудіоплеєр для Android на сьогодні. Він платний (має тріал-період), але пропонує сучасний інтерфейс у стилі Material You, неймовірно потужне офлайн-кешування, розумні плейлисти, підтримку Android Auto та Chromecast.
|
||
|
||
2. **Tempo:** Чудовий безкоштовний опенсорсний клієнт, орієнтований саме на Subsonic-сервери. Має чистий дизайн, що нагадує YouTube Music.
|
||
|
||
3. **DSub / Subtracks:** Класичні перевірені часом додатки, легкі та стабільні, чудово працюють із великими бібліотеками в офлайн-режимі.
|
||
|
||
|
||
### Для iOS (iPhone / iPad) 🍏
|
||
|
||
1. **Agin Music:** Новий та дуже перспективний опенсорсний клієнт із підтримкою синхронізованого тексту пісень, AirPlay та відмінним темним режимом.
|
||
|
||
2. **play:Sub:** Потужний та дуже популярний комерційний клієнт для iOS. Максимально стабільний, з крутим кешуванням треків для поїздок без інтернету.
|
||
|
||
3. **Substreamer / Amperfy:** Хороші безкоштовні альтернативи з лаконічним дизайном та базовим набором функцій (плейлисти, офлайн, пошук).
|
||
|
||
|
||
## 💻 Бонус: Клієнти для ПК
|
||
|
||
Якщо ви хочете слухати музику на комп'ютері не через вкладку браузера, зверніть увагу на додаток **[[Feishin]]** (доступний для Windows, macOS та Linux). Це сучасний десктопний плеєр, який перетворює Navidrome на повну візуальну копію Spotify або Apple Music. |