Как выбрать сервер для дискорд бота: хватит ли 1 ГБ
📖 Гайды

Сервер для дискорд бота: где хостить и как настроить

Марина
Марина
📅 4 сентября 2026 ⏱ 16 мин чтения 👁 32 просмотров
Сервер для дискорд бота: где хостить и как настроить

Discord-бот живёт ровно столько, сколько работает процесс, который его запускает: закрыли ноутбук — бот ушёл в офлайн, и участники видят серый значок. Значит, нужна машина, которая не выключается: бесплатная площадка, PaaS-платформа или собственный виртуальный сервер. Для бота с командами, ролями и модерацией хватает одного ядра и 1 ГБ памяти — такие тарифы в каталоге VPS под ботов начинаются от 59 ₽ в месяц. Бот на 1000–2000 активных пользователей спокойно живёт на этой конфигурации.

Материал для тех, кто уже написал бота на discord.js или discord.py и думает, куда его положить. Разберём реальные ограничения бесплатных площадок, посчитаем стоимость своего сервера и пошагово запустим бота на Ubuntu через systemd — так, чтобы он сам поднимался после перезагрузки и после падения. Отдельно поговорим про токен: держать его в коде нельзя, и это не формальность.

Что Discord-боту нужно от сервера на самом деле

Главное отличие бота от сайта: он не принимает входящие соединения. Бот сам подключается к шлюзу Discord и держит это соединение открытым, слушая события — новое сообщение, вход участника, реакцию. Практичный вывод: боту не нужны домен, SSL-сертификат и открытые порты. Нужен исходящий доступ в интернет и процесс, который никто не убивает.

Ресурсы такой процесс ест скромно. Пустой бот на Node.js после старта занимает ориентировочно 60–90 МБ оперативной памяти, на Python с discord.py — 40–70 МБ. Остальное съедает кэш серверов и участников, который библиотека держит в памяти: на 20–30 подключённых Discord-серверах это ещё 100–200 МБ. Итого 1 ГБ — не минимальный, а рабочий объём с запасом.

Процессор загружается всплесками: обработка команды занимает миллисекунды, между командами ядро простаивает. Одного виртуального ядра хватает, пока бот не делает что-то тяжёлое — музыку (перекодирование аудио грузит CPU постоянно), генерацию картинок, разбор больших выгрузок. Что входит в понятие хостинга Discord-бота, разобрано в глоссарии.

Диск боту почти не нужен: код с зависимостями занимает 200–400 МБ, база с настройками — единицы мегабайт. Базовых 10 ГБ хватает с запасом, и место скорее съедят логи.

Три способа разместить бота: бесплатно, PaaS или свой VPS

Вариантов по большому счёту три, и различаются они не столько ценой, сколько тем, кто отвечает за непрерывную работу. На бесплатных площадках не отвечает никто. На PaaS отвечает платформа, но по своим правилам. На собственном сервере — вы, и правила устанавливаете тоже вы.

Колонка «Круглосуточно» отвечает на главный вопрос: будет ли бот онлайн в четыре часа ночи, когда к нему никто не обращался восемь часов.

Вариант Стоимость Круглосуточно Главное ограничение
Домашний компьютер 0 ₽ Нет Отключения света и перезагрузки
Бесплатный тариф облака 0 ₽ Условно Засыпание, лимит часов, сброс файлов
PaaS с платным планом ориентировочно 300–900 ₽/мес Да Оплата за время работы контейнера
Свой VPS от 59 ₽/мес Да Настраивать систему придётся самому

Четвёртый вариант — обычный виртуальный хостинг — почти всегда не работает. Классический шаред-хостинг рассчитан на короткие PHP-запросы и убивает фоновые процессы, которые висят дольше нескольких минут. Исключение — тарифы с явным разрешением на длительные процессы, они собраны в разделе хостинга для Python-ботов.

Сравнение площадок для размещения Discord-бота
Бесплатные площадки, PaaS и свой сервер

Бесплатные площадки: чем приходится платить вместо денег

Бесплатный план выглядит идеально ровно до первой ночи. Три ограничения встречаются практически везде, и о них обычно узнают уже после запуска.

Засыпание. Многие бесплатные тарифы усыпляют контейнер, если к нему не приходили HTTP-запросы 15–30 минут. Для сайта это терпимо: пришёл посетитель — сервис проснулся за пару секунд. Для бота это смерть: HTTP-запросов он не принимает, будить его некому, соединение со шлюзом рвётся, и бот висит в офлайне до следующего деплоя.

Лимит часов. Бесплатные планы дают фиксированный запас машинного времени. Если его меньше, чем 744 часа (столько в месяце из 31 дня), круглосуточная работа не выйдет по арифметике: бот отработает 20–25 дней и отключится до первого числа.

Потеря состояния. Файловая система бесплатных контейнеров чаще всего эфемерная: при перезапуске всё, что бот записал на диск, исчезает. SQLite-база с настройками серверов, счётчики предупреждений, накопленный опыт участников — всё обнулится. Лечится внешней базой данных, но бесплатные базы приходят со своими лимитами: обычно 0,5–1 ГБ и около сотни одновременных подключений.

PaaS: удобный деплой, пока бот один и без состояния

PaaS — платформа, куда вы отдаёте код, а она сама собирает контейнер и запускает его. Ни ОС, ни systemd, ни SSH: пуш в репозиторий, и через минуту новая версия в работе. Для первого бота это честно удобно, особенно если разбираться с Linux не хочется.

Дальше начинаются нюансы. Тарификация обычно поминутная и считает не только процессорное время, но и память: бот, который висит круглые сутки, оплачивается все 720–744 часа месяца. Счёт за постоянно работающий контейнер с 512 МБ памяти выходит ориентировочно 300–900 ₽ в месяц — в 5–8 раз дороже базового VPS с тем же объёмом.

Свобода нужна, когда боту потребуется что-то за пределами кода: свой бинарник ffmpeg для музыки, локальный Redis, задача по расписанию с еженедельной выгрузкой, вторая база. На PaaS каждый такой пункт — либо отдельная платная услуга, либо «нельзя». На своём сервере это одна команда установки пакета.

Разумный сценарий такой: начать на PaaS, пока бот — эксперимент, и переехать на VPS, когда он обрастёт базой, расписанием и вторым процессом. Переезд занимает вечер, потому что systemd-юнит и env-файл переносятся один в один.

Сколько стоит собственный VPS под Discord-бота

В каталоге недорогих VPS конфигурация «1 ядро + 1 ГБ + 10 ГБ NVMe» стартует с 59 ₽ в месяц — примерно 2 ₽ в сутки. Ниже — цены на такие тарифы.

Провайдер Цена от Базовая конфигурация Рейтинг
Cloudcore 59 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe 3,3
HostVDS 127 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe 3,3
4VPS 110 ₽/мес 1 ядро, 1 ГБ, 5 ГБ NVMe 4,0
Selectel 200 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe 4,5
AdminVPS 299 ₽/мес 1 ядро, 1 ГБ, 15 ГБ NVMe 4,5
Beget 330 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe 4,5
Aéza 593 ₽/мес 1 ядро, 2 ГБ, 30 ГБ NVMe 4,6

Данные проверены 02.09.2026.

Разброс от 59 до 593 ₽ объясняется тем, что входит в цену: у дешёвых тарифов плотнее заселены хосты и скромнее поддержка. У Aéza в базовом тарифе сразу 2 ГБ памяти и 30 ГБ диска, а всего в каталоге провайдера 151 тариф — расти есть куда. Разница в 300 ₽ в месяц даёт 3600 ₽ в год.

Какую конфигурацию брать: 1 ГБ, 2 ГБ или больше

Память — единственный ресурс, из-за нехватки которого бот падает молча и внезапно. Когда свободная оперативная память заканчивается, ядро Linux запускает механизм OOM killer и убивает самый прожорливый процесс — обычно как раз бота. В журнале останется одна строка, а в Discord — офлайн-статус.

Ориентируйтесь на тип бота, а не на число участников: сотня серверов с ботом-«эхо» нагрузит машину меньше, чем один сервер с музыкальным ботом. Значения в таблице ориентировочные, но по ним удобно выбирать тариф.

Тип бота Память Ядра Комментарий
Команды, роли, модерация 1 ГБ 1 1000–2000 активных пользователей без проблем
Бот с SQLite или PostgreSQL 1–2 ГБ 1 База на том же сервере добавляет 150–250 МБ
Музыкальный бот 2 ГБ 2 Каждый поток аудио — постоянная нагрузка на CPU
Бот с генерацией изображений 4 ГБ 2–4 Пики памяти при обработке крупных картинок

Практичный компромисс — тариф на 1 ГБ плюс файл подкачки на 1–2 ГБ. Это резерв на диске, который спасает процесс в момент пикового потребления: на NVMe подкачка работает достаточно быстро, чтобы бот пережил всплеск.

Проверка статуса бота командой systemctl
Так выглядит бот, который поднимается сам после перезагрузки (иллюстрация интерфейса)

Пошаговый запуск бота на Ubuntu 24.04

Берём чистый сервер с Ubuntu 24.04: это LTS-версия с поддержкой до 2029 года и свежими пакетами Node.js и Python. Команды выполняются в терминале сервера после подключения по SSH — если шаг новый, начните с гайда как настроить SSH на VPS.

Схема простая: обновляем систему, ставим среду выполнения, заводим отдельного пользователя, кладём код и запускаем. Пользователь без прав администратора нужен ради безопасности.

  1. Обновите пакеты: sudo apt update && sudo apt upgrade -y — команда закрывает известные уязвимости.
  2. Установите среду: sudo apt install -y nodejs npm или sudo apt install -y python3 python3-venv. Версию проверьте через node -v: discord.js требует Node.js 18 и новее.
  3. Создайте пользователя без права входа: sudo useradd -r -s /usr/sbin/nologin botuser. Флаг -r делает системную учётную запись, nologin запрещает вход под ней по SSH.
  4. Положите код в /opt/discord-bot — стандартный каталог для стороннего софта — и передайте права: sudo chown -R botuser:botuser /opt/discord-bot.
  5. Установите зависимости: sudo -u botuser npm ci --omit=dev или pip install -r requirements.txt.
  6. Проверьте запуск вручную: sudo -u botuser node index.js. Бот появится онлайн за 3–10 секунд; остановите его через Ctrl+C.

Systemd-юнит: бот поднимается сам после перезагрузки

Запуск через node index.js в терминале годится только для проверки: закроете SSH-сессию — процесс умрёт вместе с ней. Нужен менеджер служб, и в Ubuntu он уже есть. Systemd стартует бота при загрузке сервера, перезапускает после падения и собирает логи.

Создайте файл /etc/systemd/system/discord-bot.service командой sudo nano /etc/systemd/system/discord-bot.service и вставьте описание службы.

[Unit]
Description=Discord bot
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=botuser
WorkingDirectory=/opt/discord-bot
EnvironmentFile=/etc/discord-bot.env
ExecStart=/usr/bin/node /opt/discord-bot/index.js
Restart=always
RestartSec=10
StartLimitBurst=0

[Install]
WantedBy=multi-user.target

Разберём ключевые строки. After=network-online.target откладывает старт до момента, когда сеть реально поднялась, — иначе бот стартует раньше сети и упадёт на первом подключении. Restart=always поднимает процесс после любого завершения, RestartSec=10 выдерживает паузу в 10 секунд, чтобы не долбить API Discord в цикле. StartLimitBurst=0 снимает ограничение systemd, который по умолчанию сдаётся после 5 перезапусков подряд.

Дальше три команды: sudo systemctl daemon-reload перечитывает конфигурацию, sudo systemctl enable discord-bot включает автозапуск, sudo systemctl start discord-bot запускает службу. Проверка — systemctl status discord-bot, в выводе должно быть active (running). Перезагрузите сервер через sudo reboot и убедитесь, что через 30–60 секунд бот снова онлайн.

Где хранить токен бота и почему не в коде

Токен — это пароль, который даёт полный доступ к вашему приложению в Discord. Кто получил токен, тот управляет ботом: рассылает сообщения от его имени, выдаёт роли и банит участников на всех серверах, куда бот добавлен. Поэтому строка вида const TOKEN = "MTA5..." прямо в файле — самая частая и самая дорогая ошибка новичков.

Проблема не в сервере, а в том, что код путешествует. Файл с токеном уезжает в публичный репозиторий, попадает в скриншот, остаётся в архиве, который вы отправили другу. Боты-сканеры находят утёкшие токены за минуты. Правильный способ — переменные окружения: они лежат отдельно от кода.

Создайте файл /etc/discord-bot.env с одной строкой DISCORD_TOKEN=ваш_токен без кавычек и пробелов вокруг знака равенства. Закройте к нему доступ: sudo chmod 600 /etc/discord-bot.env и sudo chown root:root /etc/discord-bot.env. Права 600 означают, что читать файл может только владелец — root и запущенная от него служба, но не другие пользователи сервера.

В коде токен читается из окружения: process.env.DISCORD_TOKEN в Node.js или os.environ["DISCORD_TOKEN"] в Python. Если токен уже засветился — сбросьте его в панели разработчика Discord и перезапустите службу, старый перестанет работать мгновенно.

Логи и автоперезапуск: как понять, почему бот упал

Служба под systemd пишет весь вывод бота в системный журнал, отдельный файл лога не нужен. Смотреть журнал в реальном времени — journalctl -u discord-bot -f: флаг -f держит вывод открытым и дописывает новые строки. Последние 200 строк покажет journalctl -u discord-bot -n 200, события за сутки — journalctl -u discord-bot --since "24 hours ago".

Журнал разрастается. На диске в 10 ГБ разговорчивый бот за пару месяцев съест несколько гигабайт логов, и сервер встанет из-за нехватки места. Ограничьте объём в /etc/systemd/journald.conf параметром SystemMaxUse=500M и выполните sudo systemctl restart systemd-journald.

Автоперезапуск решает мелкие аварии, но маскирует крупные: если бот падает раз в 30 секунд, systemd будет поднимать его вечно, а вы узнаете об этом от участников. Кроме Restart=always нужен внешний контроль — счётчик перезапусков виден в systemctl status, оповещения настраиваются по инструкции как настроить мониторинг сервера.

Отдельно позаботьтесь о данных: код лежит в Git, а база с настройками серверов и уровнями участников — только на диске VPS. Ежедневный дамп в 4 утра и хранение 7–14 копий закрывают риск за десять минут настройки.

Частые ошибки

Проблемы с круглосуточной работой повторяются от проекта к проекту. Перед запуском пробегитесь по списку — он экономит вечер отладки.

  • Запуск через nohup или screen вместо systemd: после перезагрузки сервера бот не поднимется, и вы узнаете об этом через сутки.
  • Токен в коде или в файле внутри репозитория — самая частая причина угона бота.
  • Тариф с 512 МБ памяти «для экономии»: бот с базой упирается в потолок и попадает под OOM killer на второй неделе.
  • Отсутствие After=network-online.target: бот стартует раньше сети и падает при каждой перезагрузке.
  • Работа от root: любая уязвимость в зависимостях превращается в полный доступ к серверу.
  • Забытый мониторинг свободного места — логи и дампы базы забивают диск за пару месяцев.

Отдельная категория — попытки обойти засыпание бесплатного контейнера самодельным пингом раз в 5 минут. Схема держится ровно до правки правил площадки, после чего бот отключают без предупреждения. Если бот нужен людям каждый день, дешевле сразу заплатить 59–150 ₽ в месяц за предсказуемость.

Частые вопросы

Можно ли держать Discord-бота на обычном виртуальном хостинге? Как правило, нет: шаред-хостинг рассчитан на короткие веб-запросы и убивает фоновые процессы. Работают только тарифы, где длительные процессы разрешены явно. Проще взять VPS от 59 ₽ в месяц.

Хватит ли 1 ГБ памяти для бота на 50 Discord-серверах? Для бота с командами, ролями и модерацией — да, 1 ядра и 1 ГБ достаточно при 1000–2000 активных пользователях; кэш участников добавит ориентировочно 150–300 МБ. Если бот играет музыку, берите 2 ГБ и 2 ядра.

Что произойдёт с ботом при перезагрузке сервера? Если служба включена командой systemctl enable, бот стартует сам через 30–60 секунд после загрузки. Без этого шага сервер поднимется, а бот останется в офлайне.

Можно ли запускать на одном VPS несколько ботов? Да: три-четыре лёгких бота уживаются на 1 ГБ. Для каждого заводите свой systemd-юнит, каталог и env-файл с токеном — тогда падение одного не заденет остальных.

Как понять, что серверу пора добавить ресурсов? Смотрите на три сигнала: занятость памяти выше 85%, активную подкачку и записи OOM killer в журнале. Ещё признак — задержка ответа выросла с сотен миллисекунд до нескольких секунд.

Чем размещение Discord-бота отличается от Telegram-бота? Технически почти ничем: тот же постоянный процесс, тот же systemd, те же требования к памяти. Разница в модели общения с API — Telegram-бот умеет работать через опрос или вебхук, Discord-бот всегда держит открытое соединение. Пошаговый разбор соседнего сценария есть в гайде по развёртыванию Telegram-бота на VPS.

Итог

Бесплатные площадки годятся, чтобы показать бота друзьям на выходных, но круглосуточную работу не гарантируют: засыпание, лимит машинных часов и эфемерный диск съедают экономию. PaaS снимает возню с системой, зато постоянно работающий контейнер обходится в 300–900 ₽ в месяц. Свой VPS на 1 ядро и 1 ГБ стоит от 59 ₽ и даёт полный контроль: за вечер настройки вы получаете бота, который поднимается сам.

Тарифы, на которых боты работают без сюрпризов, собраны в разделе VPS для ботов — там видны цены, конфигурации и отзывы, от AdminVPS за 299 ₽ до Aéza за 593 ₽ в месяц.

Поделиться:
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.