[2026-05-22] taiga sync: .obsidian/community-plugins.json .obsidian/graph.json .obsidian/hotkeys.json .obsidian/plugins/obsidian-git/data.json .obsidian/plugins/obsidian-git/main.js
This commit is contained in:
@@ -1,70 +0,0 @@
|
||||
---
|
||||
namespace: work
|
||||
tags: [system, tool, infrastructure, taiga]
|
||||
created: '2026-05-18'
|
||||
updated: '2026-05-18'
|
||||
last_synced: '2026-05-18'
|
||||
confidence: 1.0
|
||||
sources:
|
||||
- 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 книг.
|
||||
|
||||
## Связанные страницы
|
||||
|
||||
- [[personal-os-architecture]] — Taiga как хост, TrueNAS infrastructure
|
||||
- [[personal-os-schema]] — паттерны хранения данных в personal-os
|
||||
- [[tech/truenas-inpxer]] — TrueNAS inpxer: пути, Badger DB lock питфол
|
||||
Reference in New Issue
Block a user