Tropic Host

Audiobookshelf на VPS: собственная библиотека аудиокниг и подкастов

5 мин чтения
Tropic
Audiobookshelf на VPS: собственная библиотека аудиокниг и подкастов

Audiobookshelf: как создать свой сервер аудиокниг и подкастов

Начать слушать книгу на компьютере, продолжить с того же места в телефоне, скачать ее перед поездкой и не потерять прогресс после смены устройства — для этого необязательно зависеть от очередного платного сервиса. Audiobookshelf превращает собственную коллекцию аудиофайлов в аккуратную онлайн-библиотеку с обложками, главами, приложениями и отдельными профилями для всей семьи.

Это не магазин и не источник бесплатных книг. Пользователь самостоятельно добавляет легально полученные аудиофайлы без несовместимой DRM-защиты. Зато сами книги, история прослушивания и настройки остаются на его сервере.

Что такое Audiobookshelf

Audiobookshelf — бесплатный self-hosted сервер с открытым исходным кодом для аудиокниг и подкастов. Он сканирует папки с медиафайлами, собирает библиотеку по авторам и сериям, подгружает метаданные и обложки, а затем позволяет слушать коллекцию через браузер или мобильное приложение.

По смыслу это личный стриминговый сервис, только каталог формируете вы сами. Сервер хранит библиотеку и прогресс, а телефон, планшет или компьютер выступают клиентами. Поэтому книгу можно остановить на одном устройстве и продолжить на другом с сохраненной позиции.

Audiobookshelf можно запустить дома на NAS или мини-компьютере. VPS удобнее, если доступ нужен из любой сети без включенного домашнего компьютера, настройки проброса портов и зависимости от домашнего интернета.

Что умеет Audiobookshelf

Синхронизировать прогресс между устройствами

Для каждого пользователя сохраняются позиция, история и закладки. Доступны веб-интерфейс, Progressive Web App и официальные мобильные клиенты для Android и iOS. Книгу можно загрузить на телефон заранее и слушать без интернета.

Создавать отдельные аккаунты

На одном сервере можно завести несколько пользователей и не смешивать их прогресс. Администратор задает доступ к библиотекам и разрешения, а при необходимости ограничивает контент по тегам. У каждого остается свой список начатых книг, история и закладки.

Приводить библиотеку в порядок

Сервис получает названия, описания, авторов и обложки из внешних источников, группирует книги по авторам и сериям и позволяет исправлять главы и порядок дорожек. Несколько MP3-файлов можно объединить в один M4B, а обложку и метаданные — встроить в файл. Перед изменением исходников лучше сделать копию библиотеки.

Загружать подкасты автоматически

Подкаст можно добавить по названию, RSS-ссылке или OPML-файлу, а затем настроить загрузку новых эпизодов по расписанию. Сервис не транслирует выпуск напрямую: файл сначала сохраняется на сервере. Так можно архивировать исчезающие эпизоды, но понадобится место на диске.

Хранить электронную версию рядом с аудиокнигой

В папку книги можно положить EPUB, PDF, CBR, CBZ, AZW3 или MOBI, чтобы аудио и текст открывались из одной карточки. Читалка здесь базовая и не заменяет Calibre-Web или Kavita.

Кому подойдет Audiobookshelf

Сервис особенно полезен в нескольких сценариях:

  • у вас уже есть коллекция аудиокниг в MP3, M4B, M4A или других распространенных форматах;
  • вы слушаете с нескольких устройств и хотите синхронизацию;
  • библиотекой пользуются несколько членов семьи;
  • нужно сохранить собственный архив подкастов;
  • хочется самостоятельно контролировать файлы, учетные записи и резервные копии;
  • обычная папка в облаке уже неудобна из-за отсутствия обложек, глав и истории прослушивания.

Если вы слушаете одну-две книги только на одном телефоне, отдельный сервер может быть лишним. Audiobookshelf раскрывается, когда коллекция растет или к ней нужен постоянный удаленный доступ.

Какой сервер нужен для Audiobookshelf

У проекта нет универсального официального минимума: нагрузка зависит от размера библиотеки, числа пользователей, сканирования файлов и необходимости перекодировать аудио. Для небольшой личной коллекции можно ориентироваться на такую стартовую конфигурацию:

СценарийCPURAMДиск
1–2 пользователя, небольшая библиотека1 vCPU1 ГБот 30–40 ГБ
Семья и несколько одновременных подключений2 vCPU2 ГБот 60–100 ГБ
Большая библиотека, частое сканирование и обработка файлов2–4 vCPU4 ГБпо объему коллекции

Это практический ориентир, а не официальный минимум. Главный ресурс — диск. Десятичасовая книга при 64–128 Кбит/с занимает примерно 0,3–0,6 ГБ, поэтому сто книг потребуют около 30–60 ГБ без учета подкастов и копий. Разумнее начать с небольшого VPS, который можно увеличить.

Как установить Audiobookshelf через Docker Compose

Docker — рекомендуемый разработчиками способ установки. Предположим, что Docker и плагин Compose уже установлены на Ubuntu или Debian.

Создайте каталог проекта и папки для данных:

mkdir -p /opt/audiobookshelf/{config,metadata,audiobooks,podcasts}
cd /opt/audiobookshelf

Создайте файл compose.yml:

services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - "13378:80"
    volumes:
      - ./config:/config
      - ./metadata:/metadata
      - ./audiobooks:/audiobooks
      - ./podcasts:/podcasts
    environment:
      - TZ=UTC
    restart: unless-stopped

Запустите контейнер:

docker compose up -d

После запуска панель временно будет доступна по адресу:

http://IP_СЕРВЕРА:13378

При первом входе создайте корневого администратора, затем добавьте библиотеку типа Books и укажите каталог /audiobooks. Для подкастов создайте отдельную библиотеку с путем /podcasts.

Как правильно разложить аудиокниги по папкам

В Audiobookshelf одна книга обычно соответствует одной папке. Самая понятная структура выглядит так:

/audiobooks/
  Автор/
    Серия/
      01 - Название книги/
        01 - Глава.mp3
        02 - Глава.mp3
        cover.jpg

Для одиночной книги уровень серии можно пропустить. Один файл M4B также может лежать в собственной папке книги.

Структура важна: если положить несколько книг одного автора в одну общую папку, сканер может объединить их в одну карточку. Лучше упорядочить файлы до первого полного сканирования. Перемещение книги между библиотеками воспринимается как создание нового объекта, поэтому ее метаданные и прогресс автоматически не переносятся.

Как открыть библиотеку из интернета безопасно

Оставлять панель на открытом HTTP-порту 13378 для постоянного использования не стоит. Для удаленного доступа лучше подключить домен, HTTPS-сертификат и обратный прокси на базе Nginx, Caddy или Traefik.

Audiobookshelf использует WebSocket, поэтому его поддержку нужно включить в прокси. После настройки HTTPS порт контейнера можно привязать только к локальному интерфейсу:

ports:
  - "127.0.0.1:13378:80"

Используйте уникальные пароли, отдельную учетную запись для каждого слушателя, обновляйте контейнер и не выдавайте лишние права администратора.

Что нужно знать о резервных копиях

Встроенные резервные копии Audiobookshelf сохраняют базу данных и часть метаданных, включая обложки из каталога metadata. Сами аудиокниги, подкасты и обложки, лежащие рядом с медиафайлами, в такой бэкап не входят.

Поэтому надежная схема состоит из двух частей:

  1. встроенный автоматический бэкап базы и метаданных;
  2. отдельная копия каталогов audiobooks и podcasts на другом диске или в удаленном хранилище.

Каталог /config содержит SQLite-базу. Разработчики рекомендуют держать его на локальном диске того же сервера, а не подключать по сети: сетевое размещение может ухудшить производительность и привести к повреждению базы.

Audiobookshelf на VPS от tropic.host

Для личной библиотеки важна не максимальная вычислительная мощность, а постоянная доступность, достаточный объем диска и стабильное соединение. На VPS Audiobookshelf работает круглосуточно и доступен с телефона, компьютера или планшета независимо от состояния домашней сети.

Для небольшой коллекции можно начать с базового сервера tropic.host, установить Docker, подключить домен и HTTPS, а затем увеличивать ресурсы по мере роста библиотеки. При выборе тарифа в первую очередь оцените объем аудиофайлов и запас на новые книги и подкасты.

Ограничения, о которых лучше знать заранее

Audiobookshelf не предоставляет каталог книг и не снимает DRM-защиту. Он работает с файлами, которые пользователь добавил самостоятельно и имеет право хранить.

Мобильные приложения активно развиваются и официально сохраняют статус бета-версий, поэтому веб-интерфейс или PWA остаются полезным запасным вариантом. Поддержка электронных книг базовая, а для аккуратного импорта большой коллекции придется соблюдать структуру папок и иногда исправлять метаданные вручную.

Для аудиокниг сервис дает то, чего не хватает обычной папке в облаке: главы, серии, прогресс, офлайн-загрузку, профили и работу с подкастами.

Краткий вывод

Audiobookshelf превращает аудиофайлы в личную медиатеку для разных устройств и пользователей. Установка через Docker Compose проста, но для надежной работы нужны аккуратная структура папок, HTTPS и отдельные копии медиафайлов.

FAQ

Audiobookshelf бесплатный?

Да. Сервер и официальные клиенты распространяются с открытым исходным кодом. Платить нужно только за оборудование, VPS, домен или дополнительное хранилище, если они используются.

Предоставляет ли Audiobookshelf бесплатные аудиокниги?

Нет. Это сервер и плеер для собственной коллекции. Аудиофайлы нужно получить самостоятельно законным способом и добавить в библиотеку.

Можно ли слушать книги без интернета?

Да. Мобильное приложение позволяет предварительно скачать книгу на устройство. После загрузки соединение с сервером для самого прослушивания не требуется.

Сколько оперативной памяти нужно Audiobookshelf?

Для небольшой библиотеки и одного-двух пользователей разумной стартовой точкой будет 1 ГБ RAM. Для нескольких слушателей, большого сканирования или обработки файлов лучше выбрать 2–4 ГБ.

Обязательно ли устанавливать Audiobookshelf на VPS?

Нет. Его можно запустить на домашнем сервере, NAS или совместимом компьютере. VPS удобнее, когда нужен круглосуточный доступ из разных сетей без настройки домашнего роутера и зависимости от домашнего подключения.