Данный проект представляет собой комплексное решение для развертывания Telegram-бота с базой данных с помощью контейнеров или с помощью Ansible на виртуальных машинах.
💡 Проект был выполнен в рамках учебной задачи по закреплению навыков работы с Git, контейнерами (Docker) и инструментами конфигурационного управления (Ansible).
- Telegram-бот на Python с подключением к базе данных.
- Автоматизированное развертывание с помощью контейнеров (ветка
docker
). - Настроенный Ansible playbook для установки базы данных с репликацией, подготовки окружения для бота и его запуска на отдельных VM (ветка
ansible
).
- docker — содержит
Dockerfile
иdocker-compose.yml
для локальной сборки контейнеров с базой данных и ботом. - ansible — содержит playbook
playbook_master.yml
,playbook_replica.yml
,playbook_tg_bot.yml
иinventory
, с помощью которых происходит настройка репликации базы данных, установка зависимостей для Python и запуск бота без контейнеров.
Файл .env
с конфигурацией базы данных и доступами не находится в репозитории для обеспечения безопасности. Данные для тестирования указаны отдельно в отчёте.
- Для ветки
docker
: собрать контейнеры с помощьюdocker-compose up --build
. - Для ветки
ansible
: подготовить 3 VM-сервера, прописать их IP-адреса в файлеinventory
, выполнитьansible-playbook playbook_tg_bot.yml
.
Примечание: после развертывания с помощью ansible бота нужно включить, т.к он выключен после завершения работы плейбуков