diff --git a/README.md b/README.md index 8840d83..ccb567d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,48 @@ -# ⛅ Weather Telegram Bot (with Ansible Deployment) -Бот для получения погоды, упакованный в Docker. В репозитории также находится Ansible-плейбук для автоматического развертывания на любом облачном сервере Ubuntu за 2 минуты. -## 🚀 Быстрый старт (Локально через Docker) -1. Склонируй репозиторий. -2. Создай файл `.env` и добавь туда переменные `TG_TOKEN` и `WEATHER_API_KEY`. -3. Запусти: `docker-compose up -d`. +# 🌤️ Weather Telegram Bot (with Ansible Deployment) -# Инструкция написана не до конца. Более подробная версия выйдет позже +Бот для получения прогноза погоды, упакованный в Docker. В репозитории также находится Ansible-плейбук для автоматического развертывания на любом облачном сервере Ubuntu за 2 минуты. + +## 🚀 Быстрый старт за 2 минуты + +1. **Склонируйте репозиторий** командой: + ```bash + git clone https://github.com/LeoR156/pogoda_tg_bot.git + cd pogoda_tg_bot + ``` + +2. **Получите токены и ключи**: + - Создайте бота(ов) и скопируйте токен(ы) у [@BotFather](https://t.me/BotFather) в Telegram. + - Получите бесплатный API ключ на сайте OpenWeatherMap. + - Узнайте свой Telegram ID у официального бота [@userinfobot](https://t.me/userinfobot) + +3. **Создайте файл инвентори**: + Создайте файл `inventory.ini` и добавьте туда серверы для установки. Вы можете задать общие переменные `admin` (ваш ID) и `api_pogoda` (ключ погоды) для всех серверов. А вот токен телеграм-бота `tg_token` **должен быть обязательно разным для каждого бота**, иначе боты будут конфликтовать за входящие сообщения. + + *Пример синтаксиса `inventory.ini`:* + ```ini + [tg_bot_3x] + # Указываем IP серверов и уникальные токены ботов для каждого сервера + server1 ansible_host=222.222.222.222 tg_token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" + server2 ansible_host=111.111.111.111 tg_token="987654:XYZ-ABC1234ghIkl-zyx57W2v1u123ew11" + + [tg_bot_3x:vars] + # Общие переменные для всех хостов в этой группе + api_pogoda="ваш_ключ_openweathermap" + admin=123456789 + ``` + *(Примечание: файл `.env` вам не нужен, так как Ansible сам пробросит переменные из inventory прямо в Docker-контейнеры!)* + +4. **Настройте Playbook**: + В файле `playbook.yml` убедитесь, что в поле `hosts:` указана группа из вашего `inventory.ini` (в примере выше это `tg_bot_3x`). + +5. **Запуск**: + Проверьте файл на ошибки командой: + ```bash + ansible-playbook playbook.yml --syntax-check + ``` + Если есть ошибки, то исправьте синтаксис в файлу. Если всё хорошо, запускайте автоматическую установку командой: + ```bash + ansible-playbook playbook.yml -i inventory.ini + ``` + +Через несколько минут Ansible закончит свою работу и вы получите работающих телеграмм ботов!