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

Обзор развертывания LinuxPatch на сервере

Предварительные требования

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

  • Операционная система: Любая современная ОС с поддержкой Docker.

  • Доступ: Права суперпользователя (root) для установки системных пакетов и управления контейнерами.

  • Порты:

  • 80 (HTTP) — для работы прокси-сервера и получения SSL-сертификатов.

  • 443 (HTTPS) — для защищенного доступа к приложению.

FDQN итоговой панели на домене hostkey.in

Доступ к приложению осуществляется по следующему шаблону:

Параметр Значение
Префикс linuxpatch
Домен hostkey.in
Полный шаблон linuxpatch{Server_ID}.hostkey.in

Структура файлов и каталогов

После завершения процесса установки структура данных на сервере будет следующей:

  • /root/linuxpatch — рабочая директория приложения, содержащая файлы репозитория и конфигурационные файлы Docker.

  • /root/linuxpatch/data — основная директория с данными приложения (включая .env, логи и сертификаты).

  • /root/linuxpatch/data/.env — файл с переменными окружения и учетными данными.

  • /root/linuxpatch/data/certs — хранилище SSL-сертификатов.

  • /root/linuxpatch/data/logs — файлы журналов работы приложения.

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

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

  1. Подготовка окружения: Установка Docker и запуск службы Docker.

  2. Загрузка исходного кода: Клонирование репозитория https://github.com/linuxpatch/self-hosted.git в директорию /root/linuxpatch.

  3. Создание инфраструктуры: Создание необходимых томов Docker (например, nginx_secrets).

  4. Инициализация конфигурации: Запуск установочного скрипта configure.sh, который выполняет следующие действия:

  5. Создает необходимые поддиректории (data/certs, data/logs).

  6. Генерирует уникальные случайные пароли для базы данных, SMTP и администратора.

  7. Формирует файл .env с настройками подключения к базе данных, Redis и параметрами сервера.

  8. Обновляет файл docker-compose.yml, подставляя в него сгенерированные значения.

  9. Запуск сервисов: Выполнение команды docker compose up -d для запуска всех компонентов приложения.

Права доступа и безопасность

  • Все файлы в директории /root/linuxpatch принадлежат пользователю root.

  • Директории с сертификатами и логами имеют права доступа 755.

  • Конфигурационные файлы защищены от несанкционированного изменения.

  • Доступ к приложению осуществляется через прокси-сервер, который обеспечивает SSL-шифрование.

Базы данных

Приложение использует две системы управления данными:

  1. MySQL (Percona Server 8.0):

  2. Используется для хранения основных данных приложения.

  3. Данные хранятся в Docker-томе linuxpatch-mysql-data.

  4. Redis:

  5. Используется как хранилище сессий и кэша.

  6. Данные хранятся в Docker-томе linuxpatch-redis-data.

Контейнеры Docker и их запуск

Приложение работает в составе группы контейнеров, объединенных в общую сеть linuxpatch-app-network.

Имя контейнера Образ Порты Тома (Volumes) Описание
nginx jonasal/nginx-certbot:latest 80, 443 nginx_secrets, /data/nginx/user_conf.d Прокси-сервер и управление SSL (Certbot)
linuxpatch-app linuxpatch/appliance:latest 80, 443 ./data:/app/data Основное приложение
linuxpatch-db percona/percona-server:8.0 — linuxpatch-mysql-data База данных MySQL
linuxpatch-redis redis:6 — linuxpatch-redis-data Хранилище Redis

Кастомные скрипты и дополнительные настройки

В процессе развертывания используется установочный скрипт configure.sh. Его назначение:

  • Автоматическая генерация безопасных учетных данных (пароли БД, SMTP, Admin).

  • Создание файла конфигурации .env на основе системных параметров сервера.

  • Настройка путей к сертификатам и логам внутри контейнеров.

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

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

  1. Перейти в директорию с приложением: cd /root/linuxpatch.

  2. Обновить образы до последних версий:

    docker compose pull
    

  3. Перезапустить контейнеры для применения изменений:

    docker compose up -d
    

Расположение конфигурационных файлов и данных

  • Конфигурация приложения: /root/linuxpatch/data/.env

  • Логи приложения: /root/linuxpatch/data/logs (внутри контейнера) или в директории проекта.

  • Сертификаты: /root/linuxpatch/data/certs

Доступные порты для подключения

  • 80/TCP — HTTP (перенаправление на HTTPS).

  • 443/TCP — HTTPS (основной порт доступа к интерфейсу).

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×