Обзор развертывания Apache Solr на сервере¶
Предварительные требования¶
Для корректной работы приложения необходимы следующие условия:
-
Операционная система: Ubuntu.
-
Установленный Docker и Docker Compose.
-
Доступ к внешним ресурсам для получения SSL-сертификатов через Certbot.
-
Открытые порты:
443(внешний HTTPS) и3000(внутренний порт приложения).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу управления используется следующий шаблон домена:
| Параметр | Значение |
|---|---|
| Префикс | apache-solr |
| Домен | hostkey.in |
| Полный шаблон | apache-solr{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Основные данные и конфигурации расположены по следующим путям:
-
/opt/solr/data— директория для хранения данных Apache Solr. -
/root/nginx— рабочая директория конфигураций прокси-сервера Nginx. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для Certbot.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системных директорий: Создаются необходимые папки для хранения данных Solr с установленными правами доступа (владелец
8983). -
Инициализация безопасности: В директорию
/opt/solr/data/dataпомещается файл конфигурацииsecurity.json, который отвечает за управление доступом. -
Развертывание контейнера Solr: Запуск основного приложения в Docker-контейнере с использованием образа
solr:9. Приложение работает в режимеhostдля обеспечения сетевой доступности. -
Настройка учетных данных: Выполняется автоматическая настройка администратора через API (пользователь
root) и установка пароля. -
Настройка прокси-сервера: Создается конфигурация Nginx для обеспечения работы по протоколу HTTPS с использованием SSL-сертификатов.
Права доступа и безопасность¶
-
Для данных Solr установлены специфические права доступа (UID/GID
8983) для обеспечения безопасности процесса внутри контейнера. -
Файл
security.jsonимеет ограниченные права на чтение (0640). -
Доступ к приложению осуществляется через защищенный HTTPS прокси-сервер.
Базы данных¶
Apache Solr использует локальное хранилище, которое монтируется из хостовой системы в контейнер по пути /var/solr. Все данные сохраняются в директории /opt/solr/data на сервере.
Контейнеры Docker и их запуск¶
В системе работают следующие контейнеры:
Apache Solr
-
Имя образа:
solr:9 -
Порты:
3000(через режимhost) -
Тома:
/opt/solr/data\(\rightarrow\)/var/solr -
Переменные окружения:
SOLR_PORT=3000 -
Политика перезапуска:
always
Nginx Proxy (Certbot)
-
Имя образа:
jonasal/nginx-certbot:latest -
Сетевой режим:
host -
Тома:
-
nginx_secrets\(\rightarrow\)/etc/letsencrypt(для SSL) -
/data/nginx/user_conf.d\(\rightarrow\)/etc/nginx/user_conf.d -
Политика перезапуска:
unless-stopped
Инструкция по обновлению приложения¶
Для обновления основного приложения Apache Solr необходимо выполнить следующие действия:
-
Обновить образ контейнера:
-
Перезапустить сервис для применения изменений:
Расположение конфигурационных файлов и данных¶
| Тип ресурса | Путь на сервере |
|---|---|
| Данные приложения | /opt/solr/data |
| Конфигурация Nginx | /root/nginx/compose.yml |
| Файл безопасности Solr | /opt/solr/data/data/security.json |
Доступные порты для подключения¶
-
443(HTTPS) — основной порт для доступа к приложению через веб-интерфейс. -
3000(HTTP) — внутренний порт приложения Solr.