Перейти к содержанию

Обзор развертывания 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.

Процесс установки приложения

Развертывание выполняется в несколько этапов:

  1. Подготовка системных директорий и установка Docker.

  2. Создание структуры каталогов для данных Solr с установкой прав доступа (владелец 8983).

  3. Инициализация безопасности: создание файла security.json в директории /opt/solr/data/data.

  4. Запуск контейнера Apache Solr.

  5. Настройка учетных данных через API аутентификации (выполняется при первой установке).

  6. Развертывание прокси-сервера 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

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  1. Обновить образ контейнера через Docker Compose:
    docker compose pull && docker compose up -d
    
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×