Lightweight and powerful OPDS server for home libraries
TinyOPDS is a simple and lightweight OPDS server written in C#. Works on Windows, Linux and macOS via .NET or Mono.
After installing this release (3.18), I strongly recommend deleting the database file (books.sqlite) and rescanning the library from scratch.
TinyOPDS 3.18 - the result of intensive development with over 85% of code rewritten. The main change is the transition from in-memory storage to using a standard SQL engine, paving the way for porting to any server platform.
- SQLite database - instead of loading the entire library into memory, now uses a standard SQL engine with FTS5 full-text search
- Modern web interface - fully functional embedded website with beautiful design, responsive layout, and pagination support for large collections
- Universal web reader - unique built-in reader for FB2 and EPUB files accessible through any browser, with functionality comparable to specialized reader apps (themes, font settings, bookmarks)
- Revolutionary search - unique combination of Russian Soundex and intelligent transliteration allows finding "Dostoevsky" by searching "Достоевский" and vice versa, plus typo correction
- Dramatic memory reduction - from 1.6GB to 120-150MB for a 500,000 book library (but for smaller libraries (80000 books), app runs even on Raspberry Pi Zero 2 W with 1GB RAM!)
- Smart scanning - automatic duplicate detection and removal, keeping the best versions
- Redesigned HTTP server - now efficiently handles parallel requests from multiple clients
- TinyOPDSCLI - console version renamed and modernized to current standards
- Easy installation - CLI now has installer option for Linux and macOS, no command line knowledge required
- Multi-language support - interface (GUI and embedded website) localized in 7 languages
| Metric | Version 2.x | Version 3.x |
|---|---|---|
| Architecture | All in memory | SQL engine |
| RAM for 500K books | ~1.6 GB | ~120-150 MB |
| Web interface | Basic | Modern with pagination |
| Book reader | No | FB2 + EPUB |
| Parallel requests | Limited | Up to 100 clients |
| Typo-tolerant search | No | Yes |
| Transliteration | No | Yes |
| Duplicates | Stored | Auto-removed |
| Installers | Windows | Windows, Linux, macOS, Docker |
- .NET Framework 4.8 (Windows) or Mono 6.0+ (Linux/macOS)
- 2+ GB RAM minimum (for large libraries 500000+ books)
- 10 MB for application + 2GB for the large library database
TinyOPDS CLI is available as a Docker image sensboston/tinyopds (amd64 and arm64, also ghcr.io/sensboston/tinyopds) for Synology, QNAP, CasaOS and other NAS. The library is scanned on start, new books copied to the library folder appear by themselves.
services:
tinyopds:
image: sensboston/tinyopds:latest
ports:
- "8080:8080"
volumes:
- /volume1/books:/books:ro
- /volume1/docker/tinyopds:/data
environment:
- PUID=1026
- PGID=100
- TINYOPDS_LANGUAGE=en
restart: unless-stoppedWeb interface: http://<NAS address>:8080/, OPDS catalog: http://<NAS address>:8080/opds. Step by step installation for different NAS: Docker (NAS).
The image was not tested on real NAS hardware yet (automated tests on Linux amd64/arm64 and the CasaOS demo only). If you run it on a NAS, please report your NAS model and results in issues.
For detailed documentation, installation and configuration instructions, please visit the Project Wiki
If TinyOPDS helped organize your library, you can support development - donation links are available on the right side of this page.
Легкий та потужний OPDS сервер для домашніх бібліотек
TinyOPDS - це простий та легкий OPDS сервер, написаний на C#. Працює на Windows, Linux та macOS через .NET або Mono.
Після встановлення цього релізу (3.18) я наполегливо рекомендую видалити файл бази даних (books.sqlite) і просканувати бібліотеку заново.
TinyOPDS 3.18 - результат інтенсивної розробки, в ході якої переписано понад 85% коду. Головна зміна - перехід від зберігання даних в пам'яті до використання стандартного SQL рушія, що відкриває шлях до портування на будь-які серверні платформи.
- SQLite база даних - замість завантаження всієї бібліотеки в пам'ять тепер використовується стандартний SQL рушій з повнотекстовим пошуком FTS5
- Сучасний веб-інтерфейс - повноцінний вбудований веб-сайт з красивим дизайном, адаптивною версткою та підтримкою пагінації для великих колекцій
- Універсальна веб-читалка - унікальний вбудований рідер для FB2 та EPUB файлів, доступний через браузер, з функціональністю на рівні спеціалізованих додатків (теми, налаштування шрифтів, закладки)
- Революційний пошук - унікальна комбінація російського/англійського Soundex та інтелектуальної транслітерації дозволяє знаходити "Достоєвський" за запитом "Дастаєвський" або "Dostoevsky" і навпаки, а також виправляє друкарські помилки
- Радикальне зниження споживання пам'яті - з 1.6GB до 120-150MB для бібліотеки з 500,000 книг (з невеликою бібліотекою на 80000 книг, програма працює навіть на Raspberry Pi Zero 2 W з 1GB RAM!)
- Інтелектуальне сканування - автоматичне визначення та видалення дублікатів зі збереженням кращих версій
- Перероблений HTTP сервер - тепер ефективно обробляє паралельні запити від множини клієнтів
- TinyOPDSCLI - консольна версія перейменована та модернізована для сучасних стандартів
- Проста установка - в консольну версію додані інсталятори для Linux та macOS, що не потребують знання командного рядка
- Багатомовна підтримка - інтерфейс програми та вбудованого веб-сайту локалізовані для 7 мов
| Метрика | Версія 2.x | Версія 3.x |
|---|---|---|
| Архітектура | Все в пам'яті | SQL рушій |
| RAM для 500K книг | ~1.6 GB | ~120-150 MB |
| Веб-інтерфейс | Базовий | Сучасний з пагінацією |
| Читалка книг | Ні | FB2 + EPUB |
| Паралельні запити | Обмежено | До 100 клієнтів |
| Пошук з помилками | Ні | Є |
| Транслітерація | Ні | Є |
| Дублікати | Зберігаються | Автовидалення |
| Інсталятори | Windows | Windows, Linux, macOS, Docker |
- .NET Framework 4.8 (Windows) або Mono 6.0+ (Linux/macOS)
- 2+ GB RAM мінімум (для великих бібліотек на 500000 книг і більше)
- 10 MB для додатку + 2GB для бази даних книг великої бібліотеки
TinyOPDS CLI доступний у вигляді Docker-образу sensboston/tinyopds (amd64 і arm64, також ghcr.io/sensboston/tinyopds) для Synology, QNAP, CasaOS та інших NAS. Бібліотека сканується при запуску, нові книги, скопійовані в папку бібліотеки, з'являються самі.
services:
tinyopds:
image: sensboston/tinyopds:latest
ports:
- "8080:8080"
volumes:
- /volume1/books:/books:ro
- /volume1/docker/tinyopds:/data
environment:
- PUID=1026
- PGID=100
- TINYOPDS_LANGUAGE=uk
restart: unless-stoppedВеб-інтерфейс: http://<адреса NAS>:8080/, OPDS-каталог: http://<адреса NAS>:8080/opds. Покрокове встановлення для різних NAS: Docker (NAS).
Образ ще не перевірявся на справжніх NAS (тільки автоматичні тести на Linux amd64/arm64 і демо CasaOS). Якщо ви запустили його на NAS, повідомте, будь ласка, модель і результати в issues.
Детальна документація, інструкції з установки та налаштування доступні в Wiki проекту
Якщо TinyOPDS допоміг організувати вашу бібліотеку, можете підтримати розробку - посилання на донати знаходяться праворуч на сторінці.
Легкий, но мощный OPDS сервер для домашних библиотек
TinyOPDS - это простой OPDS сервер, написанный на C#. Работает на Windows, Linux и macOS через .NET или Mono.
После установки этого релиза (3.18) я настоятельно рекомендую удалить файл базы данных (books.sqlite) и просканировать базу заново
TinyOPDS 3.18 - результат интенсивной разработки, в ходе которой переписано более 85% кода. Главное изменение - переход от хранения данных в памяти к использованию стандартного SQL движка, что открывает путь к портированию на любые серверные платформы.
- SQLite база данных - вместо загрузки всей библиотеки в память теперь используется стандартный SQL движок с полнотекстовым поиском FTS5
- Современный веб-интерфейс - полноценный встроенный веб-сайт с красивым дизайном, адаптивной вёрсткой и поддержкой пагинации для больших коллекций
- Универсальная веб-читалка - уникальный встроенный ридер для FB2 и EPUB файлов, доступный через браузер, с функциональностью на уровне специализированных приложений (темы, настройка шрифтов, закладки)
- Революционный поиск - уникальная комбинация русского/английского Soundex и интеллектуальной транслитерации позволяет находить "Достоевский" по запросу "Дастаевский" или "Dostoevsky" и наоборот, а также исправляет опечатки
- Радикальное снижение потребления памяти - с 1.6GB до 120-150MB для библиотеки из 500,000 книг (с небольшой библиотекой на 80000 книг, программа работает даже на Raspberry Pi Zero 2 W с 1GB RAM!)
- Интеллектуальное сканирование - автоматическое определение и удаление дубликатов с сохранением лучших версий
- Переработанный HTTP сервер - теперь эффективно обрабатывает параллельные запросы от множества клиентов
- TinyOPDSCLI - консольная версия переименована и модернизирована для современных стандартов
- Простая установка - в консольную версию добавлены инсталляторы для Linux и macOS, не требующие знания командной строки
- Мультиязычная поддержка - интерфейс программы и встроенного веб-сайта локализованы для 7 языков
- .NET Framework 4.8 (Windows) или Mono 6.0+ (Linux/macOS)
- 2+ GB RAM минимум (для больших библиотек на 500000 книг и больше)
- 10 MB для приложения + 2GB для базы данных книг большой библиотеки
TinyOPDS CLI доступен в виде Docker-образа sensboston/tinyopds (amd64 и arm64, также ghcr.io/sensboston/tinyopds) для Synology, QNAP, CasaOS и других NAS. Библиотека сканируется при запуске, новые книги, скопированные в папку библиотеки, появляются сами.
services:
tinyopds:
image: sensboston/tinyopds:latest
ports:
- "8080:8080"
volumes:
- /volume1/books:/books:ro
- /volume1/docker/tinyopds:/data
environment:
- PUID=1026
- PGID=100
- TINYOPDS_LANGUAGE=ru
restart: unless-stoppedВеб-интерфейс: http://<адрес NAS>:8080/, OPDS-каталог: http://<адрес NAS>:8080/opds. Пошаговая установка для разных NAS: Docker (NAS).
Образ ещё не проверялся на настоящих NAS (только автоматические тесты на Linux amd64/arm64 и демо CasaOS). Если вы запустили его на NAS, сообщите, пожалуйста, модель и результаты в issues.
Подробная документация, инструкции по установке и настройке доступны в Wiki проекта
Если TinyOPDS помог организовать вашу библиотеку, можете поддержать разработку - ссылки на донаты находятся справа на странице.

