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