FLibGoLite logo
  • Документація 
  • Випускі 

  •  Мова
    • English
    • Русский
    • Українська
Docs
    • Вступ
    • Інструкція користувача
    • Розширений посібник
    • Використання Docker
    • Збірка з вихідних кодів
    • Часті питання
    • Вступ
    • Інструкція користувача
    • Розширений посібник
    • Використання Docker
    • Збірка з вихідних кодів
    • Часті питання

Розширений посібник

Розширене та точне налаштування

Зміст
  • Параметри запуску
  • Тонка настройка
    • 1. Головний файл налаштування
    • 2. Налаштування розташування папки з книгами
    • 3. Налаштування OPDS
    • 4. Поради щодо локалізації
    • 5. База даних списку книг
    • 6. Ведення журналу
    • 7. Аутентифікація

Параметри запуску  

Щоб переглянути параметри запуску, в командному рядку наберіть ./flibgolite -help

Використання: flibgolite [ПАРАМЕТР] [каталог даних]

Без ПАРАМЕТРІВ програма працюватиме в режимі консолі (Ctrl+C для виходу)
Застереження: одночасно можна використовувати лише один ПАРАМЕТР

ПАРАМЕТР повинен бути одним з:
  -service [дія] - управління системним сервісом FLibGoLite
    де дія одна з:
      install (установити),
      start (запустити),
      stop (зупинити),
      restart (перезапустити),
      uninstall (видалити),
      status (статус)
  -reindex - очистити каталог, а потім сканувати папку з книгами, щоб наново додати книги до бази даних
  -config - створити файл конфігурації за промовчанням у папці ./config для налаштування
  -help - відобразити цю довідку
  -version - вивести інформацію про версію

каталог даних - необов'язковий (типовим є поточний каталог)

Приклади:

Відкрийте Powershell від імені адміністратора та виконайте команди
flibgolite                     #Запустіть FLibGoLite у консольному режимі

flibgolite -service install    #Встановити FLibGoLite як системну службу
flibgolite -service start      #Запустити службу FLibGoLite
Відкрийте термінал і виконайте команди, використовуючи sudo
./flibgolite                          #Запустіть FLibGoLite у консольному режимі

sudo ./flibgolite -service install    #Встановити FLibGoLite як системну службу
sudo ./flibgolite -service start      #Запустити службу FLibGoLite

Тонка настройка  

1. Головний файл налаштування  

Зрозумілий файл конфігурації config.yml створюється разом із деревом папок при першому запуску програми в підпапці config папки, в якій лежить виконуваний файл програми flibgolite. Для тонкої будови config.yml можна редагувати.
За замовчуванням такий:

  • config.yml
library:
  # Book folders
  STOCK: "books/stock" # Book stock
  #TRASH: "books/trash" # Error and duplicate files and archives will be moved to this folder 
  #NEW: "books/new" # Uncomment the line to have separate folder for new acquired books

genres:
  TREE_FILE: "config/genres.xml"
 
database:
  DSN: "dbdata/books.db"
  # Delay before start each new acquisitions folder processing
  POLL_DELAY: 300 
  # Maximum parallel new acquisitions processing routines
  MAX_SCAN_THREADS: 10
  # Book queue size
  BOOK_QUEUE_SIZE: 20000
  # File queue size
  FILE_QUEUE_SIZE: 20000
  # Maximum number of books in one transaction
  MAX_BOOKS_IN_TX: 20000
  # Level of checking new books for duplicates: N - no check, F - fast check (default) by CRC32, S - slow check by CRC32 or title and plot comparison
  DEDUPLICATE_LEVEL: "F"

# Logs are here
logs:
  # To redirect the log output to console (stdout) just comment out the appropriate line OPDS or SCAN
  OPDS: "logs/opds.log"
  SCAN: "logs/scan.log"
  # Logging levels: D - debug, I - info, W - warnings (default), E - errors
  LEVEL: "W" 

opds:
  # OPDS-server port so opds can be found at http://<server name or IP-address or localhost>:8085/opds
  PORT: 8085
  # OPDS-server title that is displayed in a book reader
  TITLE: "FLib Go Go Go!!!"
  # OPDS feeds entries page size
  PAGE_SIZE: 20
  # Latest books period in days
  LATEST_DAYS: 14
  # Do not convert FB2 to EPUB format if set to true, default: false
  NO_CONVERSION: false

locales:
  # Locales folder. You can add your own locale file there like en.yml, ru.yml, uk.yml
  DIR: "config/locales"
  # Default english locale for opds feeds (bookreaders opds menu tree) can be changed to:
  # "uk" for Ukrainian, 
  # "ru" for Russian 
  DEFAULT: "en"
  # Accept only these languages publications. Add others if needed please. Set "any" to accept any language 
  ACCEPTED: "en, ru, uk"

# Authentication
auth:
#   Set METHOD to none or comment out METOD line for no authentication
#  METHOD: "none"
# 
#   Set METHOD to plain for http basic authentication with plain text master credentials from config.yml
#  METHOD: "plain"
#   and fill authentication credentials in plain text format username:password 
#  CREDS: "username:password"
...

2. Налаштування розташування папки з книгами  

За замовчуванням FLibGoLite додає до OPDS-каталогу книги з папки books/stock і нікуди їх не переміщає. Щоб змінити розташування папки, просто відредагуйте відповідний рядок в config.yml

  STOCK: "books/stock" # Book stock

та замініть books/stock на відповідний шлях до папки.

  Обережно

У шляхах замість зворотного слеша \ використовуйте прямий слеш /.

Також це можна зробити за допомогою створення посилання на іншу папку на диску, де ваші книги лежать.
Наприклад:

Відкрийте Powershell та виконайте команду створення з’єднання каталогів
mklink /J.\books D:\path\to\books
Відкрийте термінал та виконайте команду створення символьного посилання
ln -s /path/to/books ./books

3. Налаштування OPDS  

3.1. Ви можете змінити HTTP-порт OPDS за замовчуванням 8085 на свій

# OPDS-server port so opds can be found at http://<server name or IP-address>:8085/opds
PORT: 8085

3.2. Тут можна встановити бажане ім’я сервера OPDS

# OPDS-server title that is displayed in a book reader
TITLE: "FLib Go Go Go!!!"

3.3. Ви можете змінити кількість книг, які ваша читалка завантажуватиме за раз під час прогортання сторінки (оновлення екрана)

# OPDS feeds entries page size
PAGE_SIZE: 20

  Попередження

Не встановлюйте це значення значно більше значення за замовчуванням. Це може зробити оновлення сторінки або прокручування екрана некомфортним.

3.4. Ви можете вимкнути миттєве перетворення FB2 у формат EPUB, просто розкоментуйте рядок, щоб встановити для NO_CONVERSION значення true.

# Do not convert FB2 to EPUB format
NO_CONVERSION: true

4. Поради щодо локалізації  

Для додаткової локалізації є кілька простих налаштувань.

4.1. За замовчуванням обробка нових книг обмежена англійськими, українськими та руськими книгами. Ви можете розширити цей перелік, додавши потрібні теги IETF  , такі як de, fr, it тощо.

# Accept only these languages publications. Add others if needed please.  Set "any" to accept any language 
ACCEPTED: "en, ru, uk"

  Примітка

Установіть значення any, щоб приймати книги будь-якою мовою

ACCEPTED: "any"

4.2. За замовчуванням читалка буде відображати меню і коментарі англійською мовою en. Якщо хочете українською, можете змінити цей параметр на uk.

# Default english locale for opds feeds (bookreaders opds menu tree) can be changed to:
# "uk" for Ukrainian, 
# "ru" for Russian 
DEFAULT: "en"

Якщо у першому запиті до каталогу OPDS програма для читання книг надсилає заголовок Accept-Language із специфікацією мови, запитувана мова буде встановлена ​​за замовчуванням.

  Примітка

Щоб залишити лише одну мову, ви можете видалити всі файли локалі в папці config/locales, крім вибраної мови за замовчуванням. У цьому випадку рідер не відобразить меню вибору мови. Дивіться Розділ 4.3 про файли локалі.

4.3. Якщо ваша рідна мова є іншою, ніж три згадані вище, для вашої зручності ви можете створити власний файл локалі та помістити його в папку config/locales.

# Locales folder. You can add your own locale file there like en.yml, ru.yml, uk.yml
DIR: "config/locales"

Наприклад, для німецької мови скопіюйте en.yml в de.yml і перекладіть фрази німецькою мовою праворуч від двокрапки-роздільника. Залиште символи формату %d недоторканими. Щось на зразок цього:

Found authors - %d: Autoren gefunden - %d

Не забудьте замінити рядок алфавіту ABC на німецький. Це забезпечить правильне відображення та сортування німецьких імен і назв.

4.4. Адаптацію мови вибору дерева жанрів можна здійснити шляхом редагування файлу genres.xml у папці config

  TREE_FILE: "config/genres.xml"

Це можна зробити, додавши рядки для певної мови у файл genres.xml.

<genre-descr lang="en" title="Alternative history"/>
<genre-descr lang="ru" title="Альтернативная история"/>
<genre-descr lang="uk" title="Альтернативна історія"/>
<genre-descr lang="de" title="Alternative Geschichte"/>

5. База даних списку книг  

5.1. Список книг зберігається у файлах бази даних SQLite, розміщених у папці dbdata.

DSN: "dbdata/books.db"

  Обережно

Файли бази даних створюються при першому запуску програми та не призначені для ручного редагування

5.2. У разі втрати або пошкодження файли бази даних можуть бути відновлені командою

Відкрийте Powershell від імені адміністратора та виконайте команду
flibgolite -reindex
Відкрийте термінал та виконайте команду, використовуючи sudo
sudo ./flibgolite -reindex

Це може тривати деякий час.

  Примітка

Те саме можна виконати вручну: зупинити сервіс, видалити файли бази даних і запустити сервіс заново.

5.3. Процес реєстрації нових надходжень зображено на діаграмі

SSTcOaCnKefvoelrdyer3PPU0aans0rrzcaaiasllpnellnceeFiollBnn2gdEFsPBzU2iBpp-paaarrrscseherirvePmpUmaaanarxrzxsa1ie2l0p2d0le00ewd0b0lo0o0rf0oFkikbBelfso2reiosslqkpeusaqseruuseeeureBmualxke2d00T0x0waotrkaertimeSQLiteDB

У більшості випадків процес реєстрації нових придбань не вимагає налаштування, оскільки його швидкість визначається в основному продуктивністю системи введення-виведення (контролерами, типами дисків тощо). За необхідності змінити роботу процесу можна такими налаштуваннями:

 # Delay before start each new acquisitions folder processing
  POLL_DELAY: 300 
  # Maximum parallel new acquisitions processing routines
  MAX_SCAN_THREADS: 10
  # Book queue size
  BOOK_QUEUE_SIZE: 20000
  # File queue size
  FILE_QUEUE_SIZE: 20000
  # Maximum number of books in one transaction
  MAX_BOOKS_IN_TX: 20000

5.4. При додаванні нових книг у каталог можна налаштувати відбраковування дублікатів:

  • N - не перевіряти,
  • F - перевіряти тільки за збігом хеша CRC32 (за умовчанням),
  • S - перевіряти за збігом CRC32 або за назвою книги та за коротким описом.
  # Level of checking new books for duplicates: N - no check, F - fast check (default) by CRC32, S - slow check by CRC32 or title and plot comparison
  DEDUPLICATE_LEVEL: "F"

6. Ведення журналу  

При роботі сервіс записує журнали opds.log та scan.log, розташовані в папці logs.

  # Logs are here
  OPDS: "logs/opds.log"
  SCAN: "logs/scan.log"

opds.log містить записи про запити читалок. scan.log містить записи про нові книги та індексацію архіву.

Немає необхідності видаляти журнали, щоб звільнити місце на диску, оскільки журнали змінюються (перезаписуються) через 7 днів.

Можна задати один із наступних рівнів деталізації журналу:

  • D - налагодження,
  • I - інформація,
  • W - попередження (за замовчуванням),
  • E - помилки.
  # Logging levels: D - debug, I - info, W - warnings (default), E - errors
  LEVEL: "W" 

7. Аутентифікація  

Ви можете налаштувати автентифікацію на своєму сервері OPDS, встановивши метод автентифікації та низку додаткових параметрів.

Поточний випуск реалізує лише один метод автентифікації. Це базова автентифікація HTTP - автентифікація за іменем користувача та паролем.

Щоб увімкнути базову автентифікацію, ви повинні вказати метод «plain» і облікові дані «username:password» у розділі «auth» файлу «config.yml».

auth:
#   Set METHOD to plain for http basic authentication with plain text master credentials from config.yml
  METHOD: "plain"
#   and fill authentication credentials in plain text format username:password 
  CREDS: "username:password"

  Обережно

Реалізований метод plain має недоліки безпеки, оскільки пароль зберігається у файлі конфігурації у вигляді відкритого тексту. Крім того, при використанні базової автентифікації поза домашньою мережею без використання протоколу https облікові дані можуть бути перехоплені зловмисниками.


Пропозиції, повідомлення про помилки та коментарі вітаються тут 

Останні зміни 22 лютого 2025 р.
Поділитися у
FLibGoLite
Посилання Скопійовано до буферу обміну
Зміст:
  • Параметри запуску
  • Тонка настройка
    • 1. Головний файл налаштування
    • 2. Налаштування розташування папки з книгами
    • 3. Налаштування OPDS
    • 4. Поради щодо локалізації
    • 5. База даних списку книг
    • 6. Ведення журналу
    • 7. Аутентифікація
FLibGoLite
FLibGoLite - ваша домашня хмарна бібліотека і не тільки
Поточна версія v2.2.4
© 2024 Serguei Vine
Code licensed MIT, docs CC BY-NC 4.0
 
Посилання
  Репозиторій   
  Проблеми   
  Завантаження   
  Про   
 
 
 
 
Powered by Hinode  .
FLibGoLite
Код Скопійовано до буферу обміну