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

Обзор развертывания Web-LGSM на сервере

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

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

  • Операционная система: Debian или Ubuntu.

  • Пользователь: mcbserver (создается автоматически с правами sudo).

  • Доступ: Необходим доступ к интернету для загрузки пакетов и репозиториев.

  • Порты:

  • Внутренний порт приложения: 12357.

  • Внешний порт доступа: 443 (через Nginx).

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

| Параметр | Значение | | Префикс | web-lgsm | | Домен | hostkey.in | | Полный шаблон | web-lgsm{Server_ID_from_Invapi}.hostkey.in |

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

Основные директории, используемые в системе:

  • /home/mcbserver/web-lgsm — рабочая директория приложения Web-LGSM.

  • /root/nginx — конфигурационные файлы Docker Compose для прокси-сервера.

  • /data/nginx/user_conf.d — пользовательские конфигурации Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для SSL.

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

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

  1. Подготовка системы: Обновление кэша пакетов apt, установка базовых зависимостей (git, python3, jq, unzip и др.) и создание пользователя mcbserver.

  2. Установка LinuxGSM: Загрузка скрипта linuxgsm.sh из официального репозитория, запуск процесса создания сервера под пользователем mcbserver и последующее удаление установочного скрипта.

  3. Установка Web-LGSM:

  4. Клонирование репозитория https://github.com/BlueSquare23/web-lgsm.git.

  5. Запуск установочного скрипта ./install.sh внутри директории приложения.

  6. Настройка веб-сервера: Развертывание контейнера Nginx с использованием Certbot для обеспечения работы через HTTPS.

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

  • Создается отдельный пользователь mcbserver с домашней директорией /home/mcbserver.

  • Пользователю предоставляются права sudo без необходимости ввода пароля (NOPASSWD) для автоматизации процессов.

  • Директория /tmp/.ansible_tmp создается в домашней папке пользователя с ограниченными правами (0700) для безопасного выполнения временных операций.

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

Для обеспечения работы веб-интерфейса через защищенное соединение используется контейнер:

Имя образа Порты Тома (volumes) Переменные окружения Политика перезапуска
jonasal/nginx-certbot:latest host mode nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d, /home:/home CERTBOT_EMAIL=hkadm@hostkey.com unless-stopped

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

Для управления бэкендом приложения используется системная служба (systemd):

  • Сервис: web-lgsm.service.

  • Назначение: Обеспечивает работу Python-скрипта web-lgsm.py в фоновом режиме.

  • Команда запуска: /usr/bin/python3 /home/mcbserver/web-lgsm/web-lgsm.py.

  • Команда остановки: /usr/bin/python3 /home/mcbserver/web-lgsm/web-lgsm.py --stop.

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

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

  1. Перейти в директорию приложения: cd /home/mcbserver/web-lgsm

  2. Выполнить команду обновления (если предусмотрено скриптом установки) или перезапустить сервис для подтягивания изменений, если они связаны с кодом: sudo systemctl restart web-lgsm.service

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

  • Данные приложения: /home/mcbserver/web-lgsm.

  • Конфигурация Nginx (Docker): /root/nginx/compose.yml.

  • Сертификаты SSL: Хранятся в Docker volume nginx_secrets.

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

  • 443 — доступ к веб-интерфейсу через HTTPS.

  • 12357 — локальный порт бэкенда (доступен только внутри сервера).

Запуск, остановка приложения

Управление бэкендом осуществляется через systemctl:

  • Запуск: sudo systemctl start web-lgsm.service

  • Остановка: sudo systemctl stop web-lgsm.service

  • Статус: sudo systemctl status web-lgsm.service

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