Самохостниг (часть 10) - AudiobookShelf

Самохостниг (часть 10) - AudiobookShelf

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

В этой статье мы рассмотрим, как установить AudiobookShelf с помощью Docker Compose и настроить его работу через Traefik.

Предварительные требования

  • Docker и Docker Compose установлены на вашем сервере
  • Traefik уже настроен

Шаг 1: Добавление сервиса в docker-compose.yaml

Добавьте следующую конфигурацию в существующий docker-compose.yaml:

audiobookshelf:
  <<: *defaults
  image: ghcr.io/advplyr/audiobookshelf:latest
  container_name: abooks
  volumes:
    - /opt/media/audiobooks:/audiobooks
    - /opt/media/podcasts:/podcasts
    - /opt/docker/audiobookshelf/config:/config
    - /opt/docker/audiobookshelf/metadata:/metadata
  environment:
    - TZ=Europe/Moscow
  labels:
    - "traefik.enable=true"
    - "traefik.http.routers.abooks-opt.rule=Host(`abooks.home.example.com`)"
    - "traefik.http.routers.abooks-opt.entrypoints=https"
    - "traefik.http.routers.abooks-opt.tls.certresolver=myresolver"

Шаг 2: Создание необходимых директорий

Перед запуском контейнера убедитесь, что все необходимые директории существуют:

mkdir -p /opt/media/audiobooks
mkdir -p /opt/media/podcasts
mkdir -p /opt/docker/audiobookshelf/config
mkdir -p /opt/docker/audiobookshelf/metadata

Шаг 3: Конфигурация томов

В файле docker-compose.yaml мы указали четыре тома:

  • /opt/media/audiobooks:/audiobooks - директория для хранения ваших аудиокниг
  • /opt/media/podcasts:/podcasts - директория для хранения подкастов
  • /opt/docker/audiobookshelf/config:/config - директория для хранения конфигурации AudiobookShelf
  • /opt/docker/audiobookshelf/metadata:/metadata - директория для хранения метаданных

Шаг 4: Настройка Traefik

В файле docker-compose.yaml уже настроена интеграция с Traefik:

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.abooks-opt.rule=Host(`abooks.home.example.com`)"
  - "traefik.http.routers.abooks-opt.entrypoints=https"
  - "traefik.http.routers.abooks-opt.tls.certresolver=myresolver"

Обратите внимание, что домен установлен в abooks.home.example.com. Поменяйте его на тот, что вам нужен.

Шаг 5: Запуск AudiobookShelf

Запускаем уже выученную нами команду:

docker-compose up -d

Шаг 6: Первоначальная настройка

После запуска контейнера перейдите по адресу https://abooks.home.example.com (или вашему настроенному домену). При первом запуске вам будет предложено создать учетную запись администратора.

Настройка библиотек

После входа в систему вы можете настроить библиотеки аудиокниг и подкастов:

  1. Перейдите в раздел "Библиотеки" в меню слева
  2. Нажмите "Добавить библиотеку"
  3. Укажите имя библиотеки и тип (аудиокниги или подкасты)
  4. Для аудиокниг выберите путь /audiobooks
  5. Для подкастов выберите путь /podcasts
  6. Настройте дополнительные параметры, если необходимо

Мобильные и десктопные клиенты

AudiobookShelf предлагает несколько вариантов для прослушивания вашей коллекции на различных устройствах:

Мобильные приложения

  1. Официальное приложение AudiobookShelf
    • Доступно для Android в Google Play Store
    • Версия для iOS доступна через TestFlight
    • Функции: синхронизация прогресса, загрузка для офлайн-прослушивания, поддержка таймера сна, настраиваемая скорость воспроизведения
  2. Другие клиенты

Список клиентов доступен на официальном сайта AudiobookShelf.

Десктопные клиенты

  1. Веб-интерфейс
    • Доступен через любой современный браузер по адресу вашего сервера
    • Полный функционал, включая управление библиотекой и воспроизведение
  2. Electron приложение
    • Десктопное приложение на основе официального веб-интерфейса
    • Доступно для Windows, macOS и Linux
    • Можно скачать с GitHub репозитория

Интеграция с Plex

Данные с AudiobookShelf можно интегрировать с медиасерверами Plex или Jellyfin. Просто добавьте каталог с книгами в медиатеку.

Настройка клиентов

Для подключения клиента к вашему серверу:

  1. Откройте приложение и перейдите в настройки
  2. Выберите "Добавить сервер" или аналогичную опцию
  3. Введите полный URL вашего сервера (например, https://abooks.home.example.com)
  4. Введите учетные данные, созданные при первоначальной настройке
  5. После подключения ваша библиотека будет синхронизирована с приложением

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

Заключение

Теперь вы успешно установили и настроили AudiobookShelf с использованием Docker Compose и Traefik. Вы можете наслаждаться вашей коллекцией аудиокниг и подкастов, отслеживать прогресс прослушивания и использовать различные клиенты для синхронизации с вашим сервером.

Если у вас возникнут проблемы, проверьте логи контейнера:

docker logs abooks

Дополнительную информацию о возможностях и настройках AudiobookShelf вы можете найти в официальной документации.

Read more

🔄 Своя Dropbox-альтернатива: Syncthing

🔄 Своя Dropbox-альтернатива: Syncthing

🧠 Зачем? Облачные сервисы — удобно, но: * не хочется платить Google/Dropbox за хранение своих файлов * хочется моментально синхронизировать фото, документы и заметки между устройствами * и делать это на своём сервере, без отправки данных «в облако» 👉 Решение — Syncthing: децентрализованный, зашифрованный, open source-синк между любыми устройствами. 🚀 Что ты получишь? * 📂 Автосинк папок между сервером,

🎧 Свой подкаст-сервер за 5 минут: Podgrab

🎧 Свой подкаст-сервер за 5 минут: Podgrab

✨ Зачем? Подкасты — отличный способ учиться, развлекаться и быть в курсе мира. Но что, если: * Хочется слушать подкасты офлайн * Хочется архивировать любимые шоу * Не устраивают сторонние сервисы, реклама и трекеры Решение: Podgrab — простой подкаст-граббер, который автоматически скачивает новые выпуски с любого RSS. А в связке с Audiobookshelf ты получаешь полноценный медиасервер.

Безопасное управление конфигурациями в Ansible: Полное руководство по использованию rescue и always

Безопасное управление конфигурациями в Ansible: Полное руководство по использованию rescue и always

Введение: Почему это важно В мире DevOps и системного администрирования существует простое правило: всё ломается. Особенно в самый неподходящий момент. Когда вы изменяете конфигурацию критического сервиса (например, Nginx), цена ошибки может быть очень высока — от простого даунтайма до потери данных. Ansible предлагает элегантное решение для безопасного внесения изменений через механизм

Использование ~/.ssh/authorized_keys для управления входящими SSH-соединениями

Использование ~/.ssh/authorized_keys для управления входящими SSH-соединениями

Файл ~/.ssh/authorized_keys позволяет настроить команды, которые будут выполняться при входящих SSH-соединениях. Это полезный инструмент для управления доступом и обеспечения безопасности, особенно при работе с резервным копированием данных. Настройка резервного копирования с использованием authorized_keys В данном примере рассматривается использование authorized_keys для настройки резервного копирования базы данных Bacula