В прошлом посте мы арендовали VPS и сделали базовую подготовку.
Теперь пора перейти к практике: подключимся к серверу, поставим Docker и загрузим код нашего бота.
Напомню, что мы собираем бота, который будет:
- ✅ считать новых подписчиков канала
- ✅ отслеживать отписки
- ✅ отправлять уведомления админу в личку
То есть всё, что нужно для простой аналитики Telegram-канала.
⁉️ Что сделаем в этом посте
Сегодня без лишней теории. Просто подготовим сервер под запуск бота:
- подключимся к VPS по SSH
- установим Docker
- скачаем код проекта с GitLab
- проверим, что всё лежит на сервере
После этого останется только настроить переменные и запустить бота.
1️⃣ Подключаемся к серверу
После аренды VPS у вас должен быть IP-адрес сервера.
Подключаемся к нему через SSH под root:
ssh root@IP_СЕРВЕРА
Вместо IP_СЕРВЕРА подставьте IP вашего VPS.
Если всё ок - вы попадёте внутрь сервера и увидите консоль.
2️⃣ Ставим Docker
Чтобы не мучиться с ручной установкой зависимостей, будем запускать бота через Docker.
Сначала обновим список пакетов и поставим нужные утилиты:
apt update && apt install -y ca-certificates curl git
Теперь установим Docker одной командой:
curl -fsSL https://get.docker.com | sh
Проверяем, что Docker установился:
docker --version docker compose version
Если в ответ появились версии Docker и Docker Compose - всё отлично, можно двигаться дальше.
3️⃣ Загружаем код бота с GitLab
Теперь скачиваем проект на сервер.
Обычно такие проекты удобно хранить в папке /opt, туда и перейдём:
cd /opt
Клонируем репозиторий:
git clone https://gitlab.com/svyatoslav.telegram.dev/free-channel-analytics-bot.git
Переходим в папку проекта:
cd free-channel-analytics-bot
И проверяем, что файлы действительно на месте:
ls -la
Если видите файлы проекта - значит код успешно загружен на сервер.
❓ Что в итоге
На этом этапе мы уже сделали важную часть:
- ✅ подключились к VPS
- ✅ установили Docker
- ✅ скачали код бота
- ✅ проверили, что проект лежит на сервере
То есть сервер уже почти готов к запуску.
Осталось самое интересное - настроить .env, добавить токен бота, ID админа, ID канала и запустить всё через Docker.
Этим займёмся в следующем посте 🚀




Дискуссия