Установка через Docker Compose
Это руководство описывает процесс установки и настройки TG Support Bot на виртуальном частном сервере (VPS) с использованием Docker Compose.
Видеоинструкции
Предварительные требования
Перед началом убедитесь, что выполнены следующие условия:
- Есть VPS-сервер и зарегистрированный домен.
- На сервере установлены Docker и Docker Compose.
- Есть доступ к серверу по SSH.
Шаги установки и настройки
1. Регистрация VPS
Зарегистрируйте VPS-сервер на базе Ubuntu с предустановленным Docker Compose. Рекомендуемый объём оперативной памяти — не менее 1 ГБ.
Для хостинга можно использовать, например, Beget.
2. Настройка DNS
- Зарегистрируйте доменное имя.
- Направьте DNS-записи домена на IP-адрес вашего сервера.
TIP
Обновление DNS-записей обычно занимает 15–20 минут.
3. Создание Telegram-бота и группы
- Откройте @BotFather и создайте нового бота командой
/newbot. - Задайте имя и имя пользователя (username) для бота.
- Скопируйте и сохраните полученный токен.
- Создайте новую приватную Telegram-группу.
- Добавьте бота в группу и назначьте его администратором.
- В настройках группы включите возможность создавать темы.
- Чтобы узнать ID группы, временно добавьте бота @getMyId или аналогичный. После получения ID удалите его из группы.
4. Подготовка окружения на сервере
Клонирование репозитория
Подключитесь к серверу по SSH и перейдите в директорию /home:
cd /home/Создайте каталог для проекта и перейдите в него:
mkdir yourdomain.com && cd yourdomain.comКлонируйте репозиторий. Точка в конце команды помещает файлы непосредственно в текущую директорию, без создания вложенной папки:
git clone https://github.com/prog-time/tg-support-bot.git .Создание файла .env
Скопируйте шаблон конфигурации:
cp .env.example .envОткройте файл для редактирования и замените значения переменных на реальные данные — токен бота, секретный ключ, параметры базы данных:
nano .env5. Запуск проекта
Убедитесь, что в файле .env указан параметр MAIN_DOMAIN — доменное имя, которое будет использоваться ботом и всеми его сервисами.
Запустите скрипт начальной настройки из корневой директории проекта:
./start.shВозникли проблемы?
Если при запуске start.sh что-то пошло не так, загляните в раздел «Типичные ошибки» или задайте вопрос в Telegram-сообществе — t.me/pt_tg_support.
6. Привязка вебхука Telegram
Для получения сообщений от Telegram необходимо зарегистрировать вебхук. Откройте в браузере следующий URL, подставив свои данные:
https://api.telegram.org/bot{ТОКЕН}/setWebhook?url=https://{ДОМЕН}/api/telegram/bot&max_connections=45&drop_pending_updates=true&secret_token={СЕКРЕТНЫЙ_КЛЮЧ}Замените:
{ТОКЕН}— токен бота из @BotFather;{ДОМЕН}— ваше доменное имя;{СЕКРЕТНЫЙ_КЛЮЧ}— значение параметраsecret_tokenиз файла.env.
При успешной привязке Telegram API вернёт ответ:
{
"ok": true,
"result": true,
"description": "Webhook was set"
}7. Проверка работоспособности
- Откройте браузер и перейдите на ваш домен.
- Убедитесь, что страница открывается без ошибок и по протоколу HTTPS.
- Отправьте тестовое сообщение боту и проверьте, что уведомление появилось в Telegram-группе.
Поздравляем
Бот успешно установлен и готов к работе. При необходимости вы можете подключить дополнительные каналы — ВКонтакте, внешние API и другие сервисы.