# OPDS-сервис личной библиотеки

**URL:** <https://forum.samohosting.ru/t/opds-servis-lichnoj-biblioteki/3155>\
**Category:** Фото\\Медиа сервисы\
**Created:** [07.Ноябрь.2026 10:46:13 UTC](https://forum.samohosting.ru/t/opds-servis-lichnoj-biblioteki/3155 "2026-11-07T10:46:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![podarok66](https://forum.samohosting.ru/letter_avatar_proxy/v4/letter/p/8baadc/32.png) [@podarok66](https://forum.samohosting.ru/u/podarok66)\
**Post date:** [07.Ноябрь.2026 10:46:13 UTC](https://forum.samohosting.ru/t/opds-servis-lichnoj-biblioteki/3155/1 "2026-11-07T10:46:13Z")

</div>

Личная OPDS-библиотека — это довольно хороший способ иметь под рукой чудовищное количество книг, не забивая ими память телефона. Доступ к самим сайтам часто могут закрыть, а вот доступ к домашнему серверу обычно есть почти всегда (форс-мажор со всеми этими «учениями» не в счёт). В сети есть довольно хороший и простой в установке скрипт [FLibGoLite](https://vinser.github.io/flibgolite-docs/ru/). А дома у меня есть маленькая железка на N100 с Proxmox на борту. На ней несколько контейнеров с различными нужными мне сервисами. Так как я всю жизнь с книгой, а последние 20+ лет это сначала КПК, потом телефон, идея постоянного доступа к библиотеке просто витает в воздухе. Всё оказалось очень даже просто и особых навыков не потребовало.

Приступим. Сразу оговорюсь, у себя я держу сайтик для личных нужд. И соответственно есть внешний адрес и доступ. Создаём контейнер с Debian. Делаем его стартующим при запуске. Выдаем ему адрес 192.168.88.28 Сначала стандарт

```auto
apt update && apt upgrade -y

```

Далее, будем работать под другим юзеров из-под sudo. Его и ставим

```auto
apt install sudo

```

Создаем юзера mic с паролем и второй командой добавляем его в группу sudo.

```auto
adduser mic

usermod -a -G sudo mic

```

Редактируем файл

```auto
nano /etc/sudoers

```

После строк

```auto
# User privilege specification

```

```auto
root ALL=(ALL:ALL) ALL

```

добавляем одну строку:

```auto
mic ALL=(ALL:ALL) ALL

```

Выходим из под root и заходим под юзером mic и скачиваем файл

```auto
wget https://github.com/vinser/flibgolite/releases/download/v2.2.4/flibgolite-linux-amd64

```

Для простоты переименуем файл и сделаем его исполняемым

```bash
mv flibgolite-linux-amd64 flibgolite

chmod +x flibgolite

```

Устанавливаем службу и запускаем ее

```auto
sudo ./flibgolite -service install

sudo ./flibgolite -service start

sudo ./flibgolite -service status

```

В ответ на последнюю команду у нас должен быть вывод

```auto
Status of the service: running

```

Теперь пойдем в контейнер с сайтом. Там всё делается средствами nginx, который и трудится в данном контейнере веб-сервером. В файле конфигурации добавим секцию для несуществующей директории, перенаправив запрос на нужный адрес и порт.

```auto
sudo nano /etc/nginx/sites-available/default

```

Добавляемая секция

```auto
location /opds {

proxy_pass http://192.168.88.28:8085/opds;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

proxy_redirect default;

}

```

Проверяем конфигурацию

```auto
sudo nginx -t

```

Нам не надо, чтобы к нам просто заходил кто попало, поэтому защитим вход паролем

```auto
sudo apt install apache2-utils

sudo htpasswd -c /etc/nginx/htpasswd podarok66

```

Дважды вводим новый пароль и получаем юзера с паролем для личных нужд

```auto
New password:

Re-type new password:

Adding password for user podarok66

```

Теперь опять идем файл конфигурации nginx

```auto
sudo nano /etc/nginx/sites-available/default

```

Прямо перед элементом proxy\_pass вставляем две строки.

```auto
auth_basic «Restricted»;

auth_basic_user_file /etc/nginx/htpasswd;

```

Причем строчка `location /opds` определяет область, в которой будет работать парольный вход.

Перезапускаем nginx и служба уже должна быть доступна по адресу [http://наше\_доменное\_имя/opds](http://xn--__-6kcrdcaz6aebgake5mmf/opds) через читалку. У меня это AlreaderX уже много лет. Если доступ нужен только изнутри, то nginx можно поставить на том же контейнере и секцию в конфиг добавить там же. Всё будет работать.

Дальше интересный момент. Объем загруженных архивов с книгами 500+ Гб. Загружаются они через торрент-клиент совсем другого контейнера. Это нормально, при каких-либо сбоях исправлять придется отдельный контейнер с минимумом повешенных на него задач. Остальное будет продолжать работать. Причем для архивов у меня определен отдельный диск на 1 Тб. Его нужно примонтировать к нашему контейнеру. Делаем через гипервизор. Перед началом останавливаем контейнер:

```auto
pct stop 108

```

Пробросить физически диск с хоста в контейнер Proxmox (на самом деле папку на хосте) можно в консоли хоста proxmox так:

```auto
pct set 108 -mp0 /books/stock,mp=/home/mic/books/stock

```

pct — Proxmox Container Toolkit, утилита для управления контейнерами

set — команда выбора контейнера

108 — номер контейнера

-mp0 — опция указывающая номер точки монтирования. Первая начинается с 0, потом 1, потом2 и так далее, если хотите несколько дисков пробросить в контейнер.

/books/stock — путь, куда у вас примонтирован диск (ну либо вы просто папку с хоста хотите пробросить в контейнер).

mp=/home/mic/books/stock — путь внутри контейнера, куда будет отображаться диск. Эту директорию надо предварительно создать, если её нет.  
Запускаем контейнер:

```auto
pct start 108

```

После этого можно проверить. Для этого надо зайти в веб-морду проксмокса, далее выбрать наш контейнер — Resourses — и там будет виден новый пункт Mount Point. Хотя по идее смонтированный диск должен быть сразу виден в окружении контейнера, перезагружаться не надо, но у меня это не всегда срабатывало. Разбираться не стал, после вышеописанных действий с остановкой-запуском всё становилось как надо.

И не забудьте в хостовой системе (проксмоксе) выдать права на запись, чтобы приложения из контейнера могли туда писать.

```auto
chmod 755 -R /books/stock

```

Ну вот, теперь скидываем на диск все архивы с книгами, сервис их довольно быстро индексирует (у меня скорость индексирования оказалась сравнима со скоростью копирования). И на этом можно начинать пользоваться личной библиотекой. Получаем доступ по адресу http://your\_site/opds на читалке. Не забываем, что вход под паролем. Тонкости настройки [FLibGoLite](https://vinser.github.io/flibgolite-docs/ru/) есть в соответствующем разделе на сайте авторов.
