Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка Ubuntu 24.04, Debian 12 и многих других, PID файл для возможности мониторинга бота (например, через Monit) + много других QoL улучшений #4

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

fazelukario
Copy link

@fazelukario fazelukario commented Jan 3, 2025

Описание изменений

В данном пул реквесте реализованы следующие изменения и улучшения:

  • Поддержка Ubuntu: Реализована поддержка для версий Ubuntu 20.04, 22.04, 22.10, 23.04, 23.10, 24.04, 24.10.
  • Поддержка Debian: Добавлена поддержка для версий Debian 11 и 12.
  • Интеграция PID файла: Реализована интеграция файла PID для возможности мониторинга процесса бота с помощь таких утилит как например Monit.
  • Установка зависимостей: Обновлен механизм установки зависимостей через файл requirements.txt.
  • Улучшения в systemd unit файле: Внесены улучшения в файл systemd юнита для повышения стабильности, безопасности и удобства использования.
  • Улучшение файла установки: Модифицирован и улучшен файл установки для упрощения процесса настройки и развертывания.

Подробности

  1. Поддержка Ubuntu и Debian:

    • Обновлен скрипт установки для совместимости с разными версиями операционных систем.
    • Проведено полное тестирование скрипта установки и всех изменений, от загрузки установщика и до запуска и настройки бота, протестированные ОС:
      • Ubuntu: 20.04, 22.04, 23.04, 23.10, 24.04, 24.10.
      • Debian: 11, 12.
  2. Интеграция PID файла:

    • Добавлен функционал для генерации и использования PID файла, что позволяет мониторить работу приложений с помощью Monit или любых других сервисов мониторинга ПО.
  3. Установка зависимостей через requirements.txt:

    • Использования файла requirements.txt является более удобным и гибким подходом к менеджменту зависимостей.
    • Использования файла requirements.txt позволяет к примеру при обновлении бота обновлять или устанавливать новые зависимости добавив в updater строчку main(["install", "-U", "-r", "requirements.txt"]) и избавится от подобных костылей :).
    • Обеспечена автоматическая установка зависимостей при развертывании проекта.
  4. Улучшения в systemd unit файле:

    • Внесены изменения на основе лучших практик для повышения надежности и безопасности.
    • Добавлены дополнительные параметры для улучшенного управления сервисом.
  5. Улучшение файла установки:

    • Переписан и оптимизирован файл установки, что делает процесс установки универсальнее и проще.
    • Использование виртуального окружения Python venv позволяет боту запускаться практически на любой Debian-подобной системе при этом не ломая системные пакеты.

Зачем это нужно?

Эти изменения направлены на улучшение совместимости проекта с различными версиями операционных систем, повышение стабильности и удобства использования, а также на упрощение процесса развертывания и мониторинга.

Тестирование

  • Проведены тесты на всех поддерживаемых версиях Ubuntu и Debian.
  • Проверена работа создания и записи PID файла.
  • Тестирование работы systemd юнита на всех выше перечисленных системах.

… и в целом любой Debian-подобной системы + много разных QoL улучшений (Подержка установки нескольких инстансов бота на одном сервере и многое другое)
* remove testing repo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant