diff --git a/README.md b/README.md
index e1998b7..c5842aa 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,144 @@
-# inpx-web
+inpx-web
+========
-Веб-сервер для поиска по inpx-коллекции.
+Веб-сервер для поиска по .inpx-коллекции.
+Выглядит это так: https://lib.omnireader.ru
+
+.inpx - индексный файл для импорта\экспорта информации из базы данных сетевых библиотек
+в базу каталогизатора [MyHomeLib](https://alex80.github.io/mhl/)
+или [freeLib](http://sourceforge.net/projects/freelibdesign)
+или [LightLib](https://lightlib.azurewebsites.net)
+
+Просто поместите приложение `inpx-web` в папку с .inpx-файлом и файлами библиотеки (zip-архивами) и запустите.
+Сервер будет доступен по адресу http://127.0.0.1:12380
+
+После открытия веб-приложения в бразуере, для быстрого понимания того, как работает поиск, воспользуйтесь памяткой (кнопка со знаком вопроса).
+
+##
+* [Возможности программы](#capabilities)
+* [Использование](#usage)
+ * [Параметры командной строки](#cli)
+ * [Конфигурация](#config)
+ * [Удаленная библиотека](#remotelib)
+ * Настройка https с помощью nginx
+* Сборка проекта
+* Разработка
+
+
+
+## Возможности программы
+- поиск по автору, серии, названию и пр.
+- скачивание книги, копирование ссылки или открытие в читалке
+- возможность указать рабочий каталог при запуске, а также расположение .inpx и файлов библиотеки
+- ограничение доступа по паролю
+- работа в режиме "удаленная библиотека"
+- фильтр авторов и книг при создании поисковой БД для создания своей коллекции "на лету"
+- подхват изменений .inpx-файла (периодическая проверка), автоматическое пересоздание поисковой БД
+- мощная оптимизация, хорошая скорость поиска
+- релизы под Linux и Windows
+
+
+
+## Использование
+Поместите приложение `inpx-web` в папку с .inpx-файлом и файлами библиотеки и запустите.
+По умолчанию сервер будет доступен по адресу http://127.0.0.1:12380
+
+
+
+### Параметры командной строки
+Запустите `inpx-web --help`, чтобы увидеть список опций:
+```console
+Usage: inpx-web [options]
+
+Options:
+ --help Показать опции командной строки
+ --host= Задать имя хоста для веб сервера, по умолчанию: 0.0.0.0
+ --port= Задать порт для веб сервера, по умолчанию: 12380
+ --app-dir= Задать рабочую директорию, по умолчанию: /.inpx-web
+ --lib-dir= Задать директорию библиотеки (с zip-архивами), по умолчанию: там же, где лежит файл приложения
+ --inpx= Задать путь к файлу .inpx, по умолчанию: тот, что найдется в директории библиотеки
+ --recreate Принудительно пересоздать поисковую БД при запуске приложения
+```
+
+
+
+### Конфигурация
+При первом запуске в рабочей директории будет создан конфигурационный файл `config.json`:
+```js
+{
+ // пароль для ограничения доступа к веб-интерфейсу сервера
+ "accessPassword": "",
+
+ // содержимое кнопки-ссылки (читать), если не задано - кнопка (читать) не показывается
+ // пример: "https://omnireader.ru/#/reader?url=${DOWNLOAD_LINK}"
+ // на место ${DOWNLOAD_LINK} будет подставлена ссылка на скачивание файла книги
+ "bookReadLink": "",
+
+ // включить(true)/выключить(false) журналирование
+ "loggingEnabled": true,
+
+ // максимальный размер в байтах директории закешированных файлов в <раб.дир>/public/files
+ // чистка каждый час
+ "maxFilesDirSize": 1073741824,
+
+ // включить(true)/выключить(false) кеширование запросов на сервере
+ "queryCacheEnabled": true,
+
+ // периодичность чистки кеша запросов на сервере, в минутах
+ "cacheCleanInterval": 60,
+
+ // периодичность проверки изменений .inpx-файла
+ // если файл изменился, поисковая БД будет автоматически пересоздана
+ "inpxCheckInterval": 60,
+
+ // включить(true)/выключить(false) режим работы с малым количеством физической памяти на машине
+ // при включении этого режима, количество требуемой для создания БД памяти снижается примерно в 1.5-2 раза
+ // во столько же раз увеличивается время создания
+ "lowMemoryMode": false,
+
+ // включить(true)/выключить(false) режим "Удаленная библиотека" (сервер)
+ "allowRemoteLib": false,
+
+ // включить(Object)/выключить(false) режим "Удаленная библиотека" (клиент)
+ // подробнее см. раздел "Удаленная библиотека" ниже
+ "remoteLib": false,
+
+ // настройки веб-сервера
+ "server": {
+ "host": "0.0.0.0",
+ "port": "12380"
+ }
+}
+```
+
+При необходимости, можно настроить нужный параметр в этом файле вручную. Параметры командной
+строки имеют больший приоритет, чем настройки из `config.json`.
+
+
+
+### Удаленная библиотека
+
+В случае, когда необходимо физически разнести веб-интерфейс и библиотеку файлов на разные машины,
+приложение может работать в режиме клиент-сервер: веб-интерфейс, поисковый движок и поисковая БД на одной машине (клиент),
+а библиотека книг и .inpx-файл на другой (сервер).
+
+Для этого необходимо развернуть два приложения, первое из которых будет клиентом для второго.
+
+На сервере правим `config.json`:
+```
+ "accessPassword": "123456",
+ "allowRemoteLib": true,
+```
+
+На клиенте:
+```
+ "remoteLib": {
+ "accessPassword": "123456",
+ "url": "ws://server.host:12380"
+ },
+```
+
+Если сервер работает по протоколу `http://`, то указываем протокол `ws://`, а для `https://` соответственно `wss://`.
+Пароль не обязателен, но необходим в случае, если сервер тоже "смотрит" в интернет, для ограничения доступа к его веб-интерфесу.
+При указании `"remoteLib": {...}` настройки командной строки --inpx и --lib-dir игнорируются,
+т.к. файлы .inpx-индекса и библиотеки используются удаленно.