Berth
Self-hosted сервер аудиокниг на Rust и плеер для Android и iOS на Flutter. Книги хранятся на своём диске, в S3 или Google Drive, телефон подключается по QR-коду, слушать можно офлайн. Открытый исходный код (Apache-2.0).

Задача
Дать семье и любителям аудиокниг собственную библиотеку без подписок и чужих облаков: книги лежат там, где решил владелец, а слушать их удобно с телефона. Подключение телефона к серверу не должно требовать ввода адресов, логинов и паролей.
Решение
Open-source сервер на Rust в одном Docker-контейнере: библиотека хранится в базе, файлы — на диске, в любом S3-совместимом хранилище или Google Drive, отдача идёт по коротким подписанным ссылкам. Веб-админка для загрузки книг и пользователей. Плеер на Flutter подключается к серверу сканированием QR-кода.
Результат
Сервер опубликован на GitHub под Apache-2.0, Docker-образ для amd64 и arm64 (Raspberry Pi, NAS). Приложение уже в RuStore, в Google Play и App Store — на проверке. Интерфейс на 10 языках, светлая и тёмная тема.
Как это работает


Экраны приложения





Возможности
Свой сервер
Один Docker-контейнер на VPS, NAS или Raspberry Pi. Веб-админка для книг, пользователей и настроек.
Любое хранилище
Локальный диск, AWS S3, Cloudflare R2, Backblaze B2, MinIO, Yandex Object Storage или Google Drive.
Вход по QR-коду
Телефон подключается к серверу одним сканированием — без ввода адреса и пароля.
Офлайн
Книги скачиваются на телефон и играют без интернета.
Синхронизация
Позиция в каждой книге сохраняется на сервере и продолжается с любого устройства.
Удобный плеер
Фоновое воспроизведение, экран блокировки и Bluetooth, таймер сна, скорость и главы.


