EQVPS

Як хостити Discord-бота 24/7 на VPS (systemd)

Тримайте Discord-бота онлайн 24/7 на VPS: встановіть рантайм, покладіть токен бота в env-файл і загорніть його в systemd-сервіс із Restart=always, щоб він переживав збої та перезавантаження. Копійоване для Node і Python.

Безкоштовний хостинг для ботів працює, поки контейнер не засне або сервіс не вимкнеться посеред події. VPS за $3 із systemd тримає бота онлайн по-справжньому. Це інструкція; за повнішим розбором і нотатками про музичного бота дивіться хостинг Discord-бота на VPS та кейс VPS для Discord-ботів. Виділений IP не потрібен — Discord-бот робить лише вихідні з'єднання, тож NAT-тариф (від $3/міс) ідеальний.

1. Встановіть рантайм і вашого бота (приклад на Node)

apt update && apt install -y curl git
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot && npm ci --omit=dev

2. Тримайте токен в env-файлі

cat >/opt/bot/.env <<'EOF'
DISCORD_TOKEN=your_token_here
EOF
chmod 600 /opt/bot/.env

3. systemd-сервіс із Restart=always

# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord Bot
After=network.target

[Service]
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/node index.js
EnvironmentFile=/opt/bot/.env
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f

Restart=always — ось що робить його 24/7: необроблений reject о 3 годині ночі призводить до перезапуску, а не залишає бота мертвим. (Докладніше у створенні systemd-сервісу.)

Замість цього Python?

Той самий патерн — venv і discord.py, з unit'ом, що вказує на Python із venv:

ExecStart=/opt/bot/.venv/bin/python bot.py

Нотатки

Nano за $3/міс, root приблизно за хвилину, без KYC, оплата в крипті — достатньо дешево, щоб бути одноразовим, коли бот-проєкт завершується. Той самий патерн для Telegram-ботів.

Часті питання

Як тримати Discord-бота онлайн 24/7?

Помістіть його на VPS і загорніть у systemd-сервіс із Restart=always, щоб він перезапускався після збою та стартував під час завантаження. Запуск у терміналі чи через nohup помирає при відключенні або перезавантаженні; systemd тримає його живим і пише логи в journalctl. Копійовані unit'и для Node і Python нижче.

Чи потрібен виділений IP для Discord-бота?

Ні. Discord-бот сам підключається до шлюзу Discord по websocket — до вашого сервера нічого вхідного не підключається. NAT-тариф (від $3/міс) — ідеальний дешевий варіант. Виділений IP знадобився б лише боту, який також обслуговує вхідні вебзапити.

Який найдешевший робочий тариф?

Nano ($3/міс — 2 vCPU, 1 ГБ) запускає типового бота на discord.js чи discord.py, і кілька одразу. Боти займають десятки мегабайт RAM. Виняток — музичний бот: стримінг аудіо хоче трохи більше CPU й трафіку, тож беріть Micro/Small.

Як безпечно зберігати токен бота?

У env-файлі, який може читати лише root (chmod 600), завантажуваному через Environment або EnvironmentFile у systemd-unit. Ніколи не вписуйте токен у код і не комітьте в git — витеклий токен дозволяє будь-кому керувати вашим ботом.

Ви просите документи чи картку?

Ні. Email для реєстрації, оплата в USDC або USDT — без документів, без картки. Root приблизно за хвилину.

Коментарі

Поки немає коментарів. Будьте першим.

Залишити коментар

Коментарі проходять модерацію перед публікацією.