Notefix/1.Projects/Персональний сайт портфоліо/Self Hosted/Navidrome.md

124 lines
No EOL
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**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.