Booklore: Создание цифровой библиотеки на своем сервере — полное руководство

Узнайте, как установить и настроить Booklore — современную цифровую библиотеку для self-hosted. Инструкция по Docker, конфигурации и управлению книгами.

Не указано

Установка Docker и Docker Compose

Обновите систему и установите Docker Engine и Docker Compose Plugin.

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
sudo apt install docker-compose-plugin

Создание структуры директорий

Создайте папки для конфигурации и библиотеки.

mkdir -p ~/booklore/{config,books}
cd ~/booklore

Создание файла docker-compose.yml

Создайте файл конфигурации Docker Compose. Замените PUID и PGID на ваши (команда id -u и id -g).

version: '3.8'

services:
  booklore:
    image: ghcr.io/benjaminjonathan/b-booklore:latest
    container_name: booklore
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Moscow
    volumes:
      - ./config:/config
      - ./books:/books
    ports:
      - "3000:3000"
    networks:
      - booklore_net

networks:
  booklore_net:
    driver: bridge

Запуск контейнера

Запустите контейнер в фоновом режиме и проверьте логи.

docker compose up -d
docker compose logs -f

Первоначальная настройка (First Run)

Откройте браузер по адресу http://<IP-сервера>:3000. Пройдите регистрацию администратора, затем в настройках (Settings -> Library) укажите путь к библиотеке: /books. Нажмите 'Scan Library'.

Настройка Nginx Proxy Manager (Reverse Proxy и SSL)

Для безопасного доступа из интернета установите NPM. Создайте папку и файл docker-compose.yml для NPM, запустите его и настройте прокси на порт 3000 Booklore с получением SSL сертификата.

version: '3'
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Импорт книг и сканирование

Скопируйте файлы книг в папку ~/booklore/books. В интерфейсе Booklore нажмите 'Scan Library' для извлечения метаданных.

cp -r /path/to/books/* ~/booklore/books/

Настройка бэкапа

Создайте скрипт для архивации данных. Не забудьте сделать его исполняемым (chmod +x backup.sh) и настроить cron.

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/путь/к/бэкапу"

docker compose stop
tar -czf $BACKUP_DIR/booklore_full_$DATE.tar.gz /путь/к/booklore
docker compose start

find $BACKUP_DIR -name "booklore_*.tar.gz" -mtime +7 -delete

Интеграция с Calibre (опционально)

Запустите Calibre Content Server в Docker. В Booklore (Settings -> Integrations -> Calibre) укажите адрес сервера Calibre для поддержки конвертации.

docker run -d --name=calibre -p 8080:8080 -v /путь/к/calibre-library:/library -e USER=user -e PASSWORD=pass linuxserver/calibre