• Telegram
  • Discord
  • Python / Node.js
  • systemd

Telegram and Discord Bot VPS HostingKeep your bot online around the clock

A bot only works while it runs. Put your Telegram or Discord bot on a VPS that never sleeps: Python or Node.js, a systemd service that restarts on failure, and NGINX with HTTPS if you use a Telegram webhook.

  • KVM virtualisation
  • NVMe storage
  • Root SSH access
  • Free one-time setup
  • 99.9% uptime SLA

systemctl list-units --type=service --state=active

  • mybotyour bot (systemd service)
  • nginxHTTPS for Telegram webhooks (optional)
  • ufwfirewall: 22, 80, 443
  • fail2banSSH brute-force guard
  • unattended-upgradessecurity updates

Installed and secured before handover.

0inbound ports a Discord bot needs
443 · 80 · 88 · 8443Telegram webhook ports
2,500servers per Discord shard
VPS-1runs several light bots
01Why a VPS

Why Run a Bot on a VPS

Free tiers sleep, and a home computer goes offline. A VPS keeps the process running and restarts it if it crashes.

Always running

A systemd service starts on boot and restarts on failure.

Room to grow

More commands, a database and scheduled jobs on the same server.

Webhooks with HTTPS

Telegram can send updates straight to your server instead of you polling.

Your own environment

The Python or Node.js version and packages your bot library needs.

02The stack

How a Bot Server Is Set Up

Your bot as a service; NGINX only if you use a Telegram webhook.

  1. Bot process

    Your bot (Python or Node.js)

    Runs as a systemd service under its own user.

  2. Connection

    Outbound to Telegram or Discord

    Long polling or the Discord Gateway need no inbound port.

  3. Webhook (Telegram, optional)

    NGINX with HTTPS

    Telegram sends updates to your HTTPS address.

  4. Data

    SQLite or PostgreSQL (optional)

    Settings, users and bot state.

04 DATA SQLite or PostgreSQL (op… 03 WEBHOOK (TELEGRAM, OPT NGINX with HTTPS 02 CONNECTION Outbound to Telegram or… 01 BOT PROCESS Your bot (Python or Node…

Engineer's notes

  1. Telegram has two mutually exclusive ways to get updates: long polling with getUpdates, or a webhook. You cannot use getUpdates while a webhook is set.
  2. Telegram webhooks need an HTTPS URL on port 443, 80, 88 or 8443; use the secret_token option to check that requests really come from Telegram.
  3. Discord bots connect outward to the Gateway over a WebSocket, so they need no open port.
  4. Discord's Presence, Server Members and Message Content intents are privileged: turn each one on in the Developer Portal before your bot asks for it.
  • 443 · 80 · 88 · 8443Telegram webhooks, optional
  • 22SSH, you only
03Use cases

What You Can Run

A Telegram bot

Commands, notifications and mini apps, by polling or webhook.

A Discord bot

Moderation, music, games and server tools.

Alert and notification bots

Messages from your servers and apps into chat.

Community and support bots

Answers, roles and ticket tools.

Scheduled messages

Reminders and reports on a timer.

Several bots on one server

Each as its own service.

04Sizing guide

Which Plan for Your Bot

Most bots are limited by their libraries and data, not CPU.

Recommended start

VPS-1

2 vCores and 4 GB RAM, far more than a bot needs.

vCores2
RAM4 GB
NVMe40 GB
See VPS-1
Recommended start

VPS-1

Plenty of room for PostgreSQL or SQLite alongside.

vCores2
RAM4 GB
NVMe40 GB
See VPS-1
Recommended start

VPS-2

8 GB RAM and 4 vCores; Discord requires sharding from 2,500 servers.

vCores4
RAM8 GB
NVMe75 GB
See VPS-2
Recommended start

VPS-3

12 GB RAM and 6 vCores.

vCores6
RAM12 GB
NVMe100 GB
See VPS-3

A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.

05After handover

Running Your Bot as a Service

A first deployment, as your own user. Replace the names with yours.

  1. Create the environment

    For a Python bot; use npm install for Node.js.

    python3 -m venv .venv.venv/bin/pip install -r requirements.txt
  2. Keep the token out of the code

    Store it in a file only your user can read.

    install -m 600 /dev/null ~/mybot.envnano ~/mybot.env
  3. Create the systemd unit

    In /etc/systemd/system/mybot.service: User=youruser, EnvironmentFile=/home/youruser/mybot.env, ExecStart=/home/youruser/mybot/.venv/bin/python bot.py, Restart=on-failure.

    sudo systemctl daemon-reloadsudo systemctl enable --now mybot
  4. Watch the log

    See messages and errors.

    sudo journalctl -u mybot -f
  5. Restart after an update

    Pull the new code and restart.

    sudo systemctl restart mybot

Example commands: adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do, or ask us for a quote.

06Cheat sheet

Telegram and Discord Bot commands you will use every week

Copy, paste, adjust the names. Each one is safe to run as your own user on the server.

Restart the bot

sudo systemctl restart mybot

Follow the log

sudo journalctl -u mybot -f

Is it running?

systemctl is-active mybot

Check a Telegram webhook

curl -s "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"

Update dependencies

.venv/bin/pip install -U -r requirements.txt

Memory check

free -h
07Compare

Free Bot Hosting or a VPS?

Free tiers are fine to try. A VPS is for a bot people depend on.

Free bot hosting

  • UptimeCan sleep or restart
  • ResourcesSmall and shared
  • Packages and runtimePlatform's choice
  • Webhooks and HTTPSPlatform-dependent
  • Server administrationHandled by the platform

Bot VPS

  • UptimeRuns around the clock
  • ResourcesReserved vCores and RAM
  • Packages and runtimeYour versions and packages
  • Webhooks and HTTPSYour domain with NGINX and HTTPS
  • Server administrationYours, after our free setup
Choose a VPS plan
08Handover

Your bot server

Free one-time setup before you get access. Here is what happens, and what you receive.

  1. Pick a plan and a location

    Resources that fit your workload, in the datacentre closest to your users.

  2. Tell us your Telegram and Discord Bot setup

    Versions, database and domain: at order or right after.

  3. We install and secure it

    Server hardened, the stack installed and tested, HTTPS on your domain.

  4. You get root

    SSH to a working server, ready for your code and data.

Installed for you

  • Python 3 with venv and pip, or Node.js LTS, as you choose at order
  • A user for your bot and a place for its files
  • NGINX with HTTPS on your domain, if you want a Telegram webhook
  • Firewall open for SSH, and HTTP and HTTPS only when needed
  • Your bot code and tokens are deployed by you

Secured before handover

  • Non-root sudo user created for daily work
  • SSH key login, password login for root disabled
  • Firewall (UFW) open only for the ports you use
  • Fail2ban blocking repeated login attempts
  • Automatic security updates enabled
  • Free Let's Encrypt SSL on your domain
  • Timezone, swap and hostname configured

Not included (we say so up front)

  • Ongoing server administration
  • Application maintenance and updates
  • Debugging your code
  • Migrating existing sites or data
09Hardening and tuning

Security and Performance for Bots

Security

  • Never put a bot token in the code or the repository; read it from the environment.
  • If a token leaks, revoke and regenerate it straight away.
  • Use the webhook secret_token for Telegram and check it on every request.
  • Enable only the Discord privileged intents your bot truly needs.

Performance

  • Handle rate limits: both platforms limit how fast a bot can send.
  • Use long polling or the Gateway unless you need a webhook.
  • Log errors and let systemd restart the bot; check the log after a crash.
  • Keep dependencies updated, and test updates before restarting live.

Built from the official documentation

VPS Plans

VPS Plans for Bots

A bot is light. VPS-1 runs several bots with a small database; choose more RAM only for large bots, heavy libraries or many shards.

VPS-1

Small websites, APIs, bots and development servers.

₹1,008 /mo
Get Started
  • 2 vCores
  • 4 GB RAM
  • 40 GB NVMe
  • 500 Mbps
  • Full root and SSH access
  • Free initial stack installation
  • Server hardening and firewall setup
  • Daily backup of the previous 24 hours
  • Unlimited traffic *
  • Anti-DDoS protection
  • Dedicated IPv4 and IPv6
  • KVM virtualisation

VPS-3

Busy stores, SaaS products and several projects.

₹2,748 /mo
Get Started
  • 6 vCores
  • 12 GB RAM
  • 100 GB NVMe
  • 2 Gbps
  • Full root and SSH access
  • Free initial stack installation
  • Server hardening and firewall setup
  • Daily backup of the previous 24 hours
  • Unlimited traffic *
  • Anti-DDoS protection
  • Dedicated IPv4 and IPv6
  • KVM virtualisation

VPS-4

High-traffic apps, large databases and agencies.

₹5,274 /mo
Get Started
  • 8 vCores
  • 24 GB RAM
  • 200 GB NVMe
  • 3 Gbps
  • Full root and SSH access
  • Free initial stack installation
  • Server hardening and firewall setup
  • Daily backup of the previous 24 hours
  • Unlimited traffic *
  • Anti-DDoS protection
  • Dedicated IPv4 and IPv6
  • KVM virtualisation

* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.

Prices exclude 18% GST, which is added to invoices for customers in India.

10Under the hood

Platform specs and locations

The same KVM platform on every plan; only CPU, RAM, storage and port speed change.

Virtualisation
KVM with reserved vCores and RAM
Storage
NVMe SSD on every plan
Network
Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan
Operating systems
Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD
Access
Full root over SSH, key-based login
Backups
Automatic daily backup of the previous 24 hours; snapshots and longer retention on request
Protection
Always-on anti-DDoS mitigation
Availability
99.9% uptime SLA

Asia-Pacific

  • Mumbai
  • Singapore
  • Sydney

Europe

  • London
  • Limburg
  • Roubaix
  • Gravelines
  • Strasbourg
  • Milan
  • Warsaw

North America

  • Beauharnois

Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.

Telegram and Discord Bot VPS FAQs

Questions before you deploy

Not covered here? Ask an engineer before you order.

Ready when you are

Keep Your Bot Online

Choose a plan and we hand over a hardened server with Python or Node.js ready for your bot.