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