bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward

Discord-бот self-hosted: discord.py + 24/7 на VPS

calendar_month May 08, 2026 schedule 7 хв. читання visibility 288 переглядів
person
Valebyte Team
Discord-бот self-hosted: discord.py + 24/7 на VPS
summarize

TL;DR

  • Для 1000 серверів вистачить VPS з 1 ГБ RAM, 1 vCPU та Ubuntu 22.04 (аптайм 99.9%, ціна від $4-5).
  • Музичним ботам на Lavalink потрібно мінімум 2 високочастотних ядра CPU та від 2 ГБ оперативної пам'яті.
  • Розміщуйте сервер в Нідерландах або Німеччині для мінімальної затримки (ping) при обробці команд.
  • Discord.py 2.0+ оптимізована, але кешування учасників (Member Cache) потребує контролю лімітів RAM.
Для стабільної роботи Discord-бота на 1000 серверів достатньо VPS з 1 ГБ RAM, 1 vCPU та ОС Ubuntu 22.04 — така конфігурація вартістю від $4-5 на місяць забезпечує аптайм 99.9% і дозволяє запускати скрипти на discord.py або discord.js цілодобово.

Перенесення бота з безкоштовних платформ на кшталт Replit або Heroku на власний сервер — це критичний крок для будь-якого серйозного проєкту. Безкоштовні тіри часто обмежують процесорний час, «засипляють» процеси за відсутності активності та накладають жорсткі ліміти на обсяг оперативної пам'яті. Власний discord бот vps надає повний контроль над оточенням, гарантовану виділену IP-адресу та можливість масштабування ресурсів у міру зростання аудиторії.

Системні вимоги та вибір discord bot hosting

Вибір відповідного заліза безпосередньо залежить від функціоналу вашого застосунку. Простий бот-модератор, який обробляє текстові команди, споживає мінімум ресурсів. Однак, якщо ви плануєте запустити music bot self host з обробкою аудіопотоків або бот з елементами штучного інтелекту, вимоги до CPU та RAM зростають у рази.

Орієнтовні характеристики для різних типів ботів

Нижче представлена таблиця з рекомендованими характеристиками VPS залежно від навантаження та кількості серверів (гільдій), на яких знаходиться бот.

Тип бота К-сть серверів CPU (vCPU) RAM (GB) Disk (NVMe)
Малий (Utility/Mod) 1 - 100 1 Core (Shared) 512 MB - 1 GB 10 GB
Середній (Economy/Games) 100 - 1000 1-2 Cores 2 GB 20 GB
Великий (Music/Global) 1000+ 2-4 Cores 4 GB+ 40 GB
Music Bot (Lavalink) Будь-яке 2 Cores (High freq) 2 GB+ 15 GB

При виборі discord bot hosting звертайте увагу на локацію дата-центру. Discord використовує сервери по всьому світу, але для зниження затримки (ping) при обробці команд і особливо при передачі голосу, краще вибирати Європу або США. Для російських користувачів оптимальними будуть локації в Нідерландах або Німеччині.

Чому 1GB RAM — це золотий стандарт?

Бібліотека discord.py vps версії 2.0+ оптимізована для роботи з пам'яттю, але кешування користувачів (Member Cache) може швидко «з'їсти» доступні ресурси. На 1000 серверів при включених privileged intents (інтенти на учасників і повідомлення) бот може споживати від 600 до 800 МБ оперативної пам'яті. Залишаючи запас до 1 ГБ, ви захищаєте процес від Out-Of-Memory (OOM) кілера Linux.

Підготовка сервера та встановлення discord.py vps оточення

Для роботи ми будемо використовувати Ubuntu 22.04 LTS як найбільш стабільну і документовану ОС для серверів. Насамперед необхідно оновити пакети та встановити Python. На відміну від розробки Telegram-бота на aiogram, Discord-боти більш чутливі до версії бібліотеки aiohttp, яка йде в комплекті з discord.py.

Встановлення необхідних залежностей

Виконайте наступні команди в терміналі вашого VPS:

sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip python3-venv git build-essential -y

Створення віртуального оточення — обов'язкова практика. Це ізолює залежності вашого бота від системних бібліотек, запобігаючи конфліктам версій.

mkdir my_bot && cd my_bot
python3 -m venv venv
source venv/bin/activate
pip install discord.py python-dotenv

Для безпечного зберігання токена і ключів доступу рекомендуємо використовувати змінні оточення. Ви можете зберігати їх у файлі .env або використовувати Vaultwarden для управління секретами вашої команди розробників.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитись пропозиції →

Автоматизація та запуск discord bot 24 7 через systemd

Просто запустити скрипт через python main.py недостатньо. Якщо сесія SSH закриється або сервер перезавантажиться, бот вимкнеться. Щоб забезпечити роботу discord bot 24 7, необхідно створити системну службу (service) в менеджері процесів systemd.

Створення Service-файлу

Створіть файл конфігурації:

sudo nano /etc/systemd/system/discordbot.service

Вставте наступний вміст, замінивши шляхи на свої:

[Unit]
Description=Discord Bot Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/my_bot
ExecStart=/root/my_bot/venv/bin/python /root/my_bot/main.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Параметр Restart=always гарантує, що якщо бот впаде через помилку в коді або проблеми з API Discord, система автоматично підніме його через 5 секунд. Це критично важливо для підтримки високого аптайму.

Управління службою

Після збереження файлу виконайте команди для активації:

sudo systemctl daemon-reload
sudo systemctl enable discordbot
sudo systemctl start discordbot
sudo systemctl status discordbot

Для моніторингу помилок в реальному часі використовуйте journalctl -u discordbot -f. Якщо ви хочете просунутого відстеження багів без платних підписок, зверніть увагу на self-hosted Sentry, яку також можна розгорнути на окремому VPS.

rocket_launch Quick pick

Looking for a server that just works?

Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.

View VPS plans arrow_forward

Створення music bot self host: Lavalink та оптимізація ресурсів

Музичні боти — найбільш ресурсомісткі. Пряма передача аудіо через Python (FFmpeg) сильно навантажує CPU і часто призводить до «замикань» звуку. Професійне рішення — використання Lavalink. Це окремий вузол (node) на Java, який бере на себе всю роботу з декодування і стримінгу музики.

Налаштування Lavalink на VPS

Для роботи Lavalink буде потрібна Java 17 або вище. Встановіть її:

sudo apt install openjdk-17-jre-headless -y

Завантажте останню версію Lavalink.jar і створіть файл application.yml. У конфігурації вкажіть пароль і порти. Пам'ятайте, що Lavalink може споживати багато RAM, тому для music bot self host рекомендується VPS мінімум з 2 ГБ оперативної пам'яті.

Приклад базового конфіга application.yml:

server:
  port: 2333
  address: 0.0.0.0
lavalink:
  server:
    password: "youshallnotpass"
    sources:
      youtube: true
      bandcamp: true
      soundcloud: true
      twitch: true
      vimeo: true
http: true local: false

У коді бота на Python вам знадобиться бібліотека wavelink або disnake-lavalink для взаємодії з цим вузлом. Такий поділ дозволяє винести «важку» частину бота на окремий сервер, якщо основний discord бот vps перестане справлятися з навантаженням.

Міграція з Replit та Heroku на повноцінний VPS

Якщо ви звикли до Replit, перехід на VPS може здатися складним через відсутність вбудованої IDE та автоматичного деплою. Однак переваги переважують: відсутність лімітів на читання/запис диска та чесні 100% ресурсів процесора. При міграції з Heroku важливо пам'ятати, що на VPS файлова система постійна (persistent). Вам більше не потрібні зовнішні хмарні сховища для простих JSON-баз даних або SQLite.

Покроковий план міграції

  1. Експорт даних: Завантажте вашу базу даних (наприклад, database.db) та файл конфігурації.
  2. Налаштування оточення: Встановіть Python тієї ж мажорної версії, що використовувалася раніше.
  3. Встановлення залежностей: Використовуйте pip freeze > requirements.txt на старій платформі та pip install -r requirements.txt на новому сервері.
  4. Налаштування БД: Якщо ви використовували PostgreSQL на Heroku, на VPS ви можете розгорнути власний контейнер або встановити сервіс напряму.

Для зберігання документації по вашому боту або внутрішній Wiki проєкту чудово підійде self-hosted Outline або BookStack, що дозволить вашій команді розробників завжди мати доступ до актуальних інструкцій.

Бази даних: коли SQLite вже недостатньо?

Для маленьких ботів SQLite — ідеальний вибір. Це файл, який не вимагає налаштування сервера БД. Але як тільки ваш discord бот vps починає обслуговувати більше 500 серверів, виникають проблеми з блокуваннями при записі (database is locked).

У цей момент варто перейти на PostgreSQL. Вона підтримує конкурентні запити та набагато надійніша при високих навантаженнях. Налаштування PostgreSQL на Ubuntu:

sudo apt install postgresql postgresql-contrib -y
sudo -i -u postgres psql

Для аналітики та дашбордів вашого бота можна використовувати self-hosted рішення типу Umami, щоб відстежувати популярність команд без порушення приватності користувачів.

rocket_launch Quick pick

Looking for a server that just works?

Valebyte VPS — NVMe, 24/7 support, deploy in 60 seconds.

View VPS plans arrow_forward

Безпека вашого discord бот vps

Відкритий доступ по SSH та стандартні порти роблять ваш сервер мішенню для брутфорс-атак. Оскільки бот має доступ до токенів та, можливо, даних користувачів, безпека повинна бути в пріоритеті.

  • SSH по ключам: Вимкніть вхід по паролю в /etc/ssh/sshd_config.
  • Налаштування Firewall (UFW): Дозвольте тільки необхідні порти (SSH, порт для Lavalink, якщо він зовнішній).
  • Fail2Ban: Встановіть утиліту для автоматичного блокування IP-адрес, що намагаються підібрати пароль.
sudo ufw allow 22/tcp
sudo ufw allow 2333/tcp # Для Lavalink
sudo ufw enable

Якщо ваш бот збирає заявки або працює як техпідтримка, інтеграція з Chatwoot дозволить агрегувати повідомлення з Discord та інших месенджерів в єдину CRM-систему на вашому ж сервері.

Масштабування: Sharding та мікросервіси

Discord накладає обмеження: один WebSocket-клон може обслуговувати до 2500 серверів. Якщо ваш бот росте далі, необхідно впроваджувати шардинг (Sharding). Бібліотека discord.py vps підтримує AutoShardedClient, який автоматично розділяє навантаження на декілька потоків.

При досягненні ліміту в 5000-10000 серверів вам доведеться задуматися про розподілену архітектуру. У цьому випадку бот розділяється на:

  • Gateway Cluster: Займається тільки підтримкою з'єднання з Discord.
  • Worker Nodes: Обробляють бізнес-логіку команд.
  • Message Broker (Redis/RabbitMQ): Передає повідомлення між кластером та воркерами.

Така схема дозволяє горизонтально масштабувати discord bot hosting, додаючи нові VPS по мірі необхідності без зупинки основного сервісу.

Висновки

Для запуску надійного Discord-бота оптимально використовувати VPS з 1-2 ГБ RAM та ОС Ubuntu, налаштувавши автоматичний перезапуск через systemd для забезпечення аптайму 24/7. Перехід з безкоштовних хмарних платформ на self-hosted рішення не тільки економить бюджет при масштабуванні, але й дає повний контроль над даними та продуктивністю вашого додатку.

Готові обрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.