Files
obsidian-vault/wiki/entities/library-app.md
T

3.2 KiB

namespace, tags, created, updated, last_synced, confidence, sources
namespace tags created updated last_synced confidence sources
work
system
tool
infrastructure
taiga
2026-05-18 2026-05-18 2026-05-18 1.0
personal/projects/library-app.md

Library App

Персональный веб-интерфейс для библиотеки книг на TrueNAS (Taiga). Развёрнут 2026-05-16.

Что это

Замена inpxer — полноценный сайт для просмотра коллекции Flibusta (687k книг) + личных книг, с отметками статуса чтения, связями между книгами и графом.

Доступ

  • URL: https://library.mallexxx.duckdns.org
  • Контейнер: library-app на TrueNAS (Taiga)
  • Расположение: /mnt/RED_2TB/docker/library/

Стек

  • Backend: Python + FastAPI
  • Frontend: Vue 3 + Tailwind CSS (CDN, без build)
  • Граф: vis.js
  • Контейнер: python:3.12-slim

Данные

Хранилище Назначение Лимит
books.db (SQLite) Flibusta коллекция, пересоздаётся при старте из INPX (~23 сек) 687k книг, 227 MB
library.db (SQLite) Персистентный: статусы чтения, связи Никогда не удалять

library.db таблицы:

  • read_log(book_id, status, date_updated, rating, notes) — статусы read | reading | want
  • relations(book_id, related_id, type, weight, fetched_at) — кэш связей

Связи между книгами

Строятся при первом открытии книги, кэшируются в relations:

  1. same_author — все книги автора (мгновенно из books.db)
  2. same_series — книги той же серии (мгновенно)
  3. same_genre — топ-20 жанра по дате (мгновенно)
  4. openlibrary — readers also read через OpenLibrary API (async, ~300ms, обновляется раз в 30 дней)

Ссылки на скачивание

  • Flibusta: https://books.mallexxx.duckdns.org/download/{id} (inpxer)
  • Личные книги: https://docs.mallexxx.duckdns.org/books/{path} (FileBrowser)

Известные питфолы

  • inpxer Badger DB lock: при последовательных/параллельных запросах к inpxer сервер зависает. Решение: скачивать книги с паузой ≥3 сек между запросами.
  • books.db пересоздаётся при каждом перезапуске (~23 сек) — нормальное поведение.
  • library.db на хостеdocker rm не удаляет. Важно: не монтировать как tmpfs.

Статус

Задеплоен 2026-05-16. 687,722 книг.

Связанные страницы