Free bot hosts are fine right up until they aren't. The moment your bot joins its tenth server, opens a database connection, or needs to answer a slash command at 3am, the free tier's sleep timers and idle kills start dropping you offline. This is the note we give every user who asks us why their bot keeps going unresponsive: at that scale you've outgrown the free lane and want a small, always-on discord bot hosting VPS instead. Below is exactly how we run one, and what it costs.
Why free tiers stop working once you're serious
Free and hobby platforms keep costs down by putting your process to sleep when there's no inbound web traffic, then cold-starting it on the next request. A Discord bot doesn't work that way — it holds a persistent WebSocket gateway connection to Discord and needs to be awake to receive events. When the host idles it out, the gateway drops, your bot shows offline, and reconnect storms can get you rate-limited. Add a database, a few scheduled jobs, and 10+ guilds, and you're now running a small always-on service, not a toy.
The other wall is resources. Free tiers cap RAM and CPU hard, and a bot that caches members, handles voice, or runs an ORM will happily blow past those caps. The fix isn't a bigger free tier — it's a box you actually control, where nothing kills the process but you.
What an always-on discord bot hosting VPS gives you
A VPS is just a small Linux machine with root SSH. Your bot runs as a normal process that stays up 24/7, restarts itself if it crashes, and survives reboots. No sleep, no idle timeout, no request-based lifecycle — the process runs until you stop it. For a single production bot you don't need much: our entry VPS I is 2GB RAM, 1 vCPU and 20GB SSD at EUR 4/mo, which comfortably runs a Node or Python bot, a local Postgres or SQLite, and a reverse proxy for any webhook endpoints.
Because we bill hourly (EUR 0.0056/hr on VPS I, billed by the hour), an intermittent or event-driven bot doesn't have to pay for a full month it doesn't use — spin it up, run it, destroy it when you're done, and pay only for the hours the server exists (a stopped VPS still bills). Every plan includes a dedicated IPv4 (plus free IPv6 in Romania, the Netherlands and Germany), unmetered traffic, and root access, so you're never fighting the platform to install a runtime or open a port. Deploy from our panel takes about a minute, so you're at an SSH prompt fast.
How we keep a bot running 24/7
Uptime isn't the machine staying on — it's the process staying on. Two things do that on a plain VPS, and we lean on both:
- A process supervisor. Run the bot under
systemdorpm2so it auto-restarts on crash and starts again after a reboot. A five-line systemd unit withRestart=alwaysis all it takes; pm2 gives you the same plus log rotation if you prefer Node tooling. - Graceful reconnects. Let your library (discord.js, discord.py, serenity) handle gateway resumes — don't hard-exit on a disconnect. The supervisor is your safety net for real crashes, not for every transient blip.
That combination is what turns "a server that's on" into "a bot that's up." Backed by our 99.9% monthly availability target on the underlying VPS, most of the downtime you see should be your own deploys — and even those you can make near-zero by reloading under pm2.
Node vs Python — same box, same recipe
The stack doesn't change the sizing much. A discord.js bot and a discord.py bot both idle in the low tens of megabytes and scale with what you cache and compute. Install your runtime (Node LTS or Python 3.x), pull your code, set your token as an environment variable — never in the repo — and hand the process to the supervisor. If you build from a repo, wiring your VPS into a simple CI/CD pipeline means a push can rebuild and reload the bot for you. The 26 Linux and FreeBSD images cover the usual Debian/Ubuntu bases most bot guides assume.
Picking a size
Start small and move up only when you measure a reason to. Here's how we map common bot workloads to plans:
| Plan | Specs | Price | Good for |
|---|---|---|---|
| VPS I | 2GB / 1 vCPU / 20GB | EUR 4/mo (EUR 0.0056/hr) | One bot, 10+ servers, small DB |
| VPS II | 4GB / 2 vCPU / 40GB | EUR 6/mo | Bot + heavier DB, light voice/media |
| VPS III | 8GB / 2 vCPU / 60GB | EUR 10/mo | Multiple bots or high-cache workloads |
Because it's hourly and you can upgrade to a bigger plan from the panel, over-provisioning early is a waste — jump a tier the week you actually see memory pressure, not before.
How Noded Can Help
We run our own network — AS60982 — with 100 Gbps of Layer 3/4 DDoS protection included on every plan, so a volumetric flood aimed at your box is filtered upstream before it reaches the server. If you've outgrown the free lane, our Discord bot hosting gives you a root VPS from EUR 4/mo or EUR 0.0056/hr, deployed in about a minute, with a dedicated IPv4 (IPv6 free in Romania, the Netherlands and Germany) and a 99.9% availability target. Bring your token, run it under systemd or pm2, and let it stay up. We'll keep the box on; you keep the bot on.
FAQ
How much does it cost to host a Discord bot 24/7?
On our entry VPS I it's EUR 4/mo, or EUR 0.0056/hr billed by the hour if you'd rather pay only for the hours the server exists (destroy it to stop the meter; a stopped VPS still bills). That gets you 2GB RAM, 1 vCPU, 20GB SSD, root SSH and a dedicated IPv4 (IPv6 free in Romania, the Netherlands and Germany) — enough for a single production bot with a small database.
Why does my bot keep going offline on free hosting?
Free tiers sleep or idle-kill your process when there's no web traffic, but a Discord bot needs to stay awake to hold its gateway connection. An always-on VPS never idles the process, so the bot stays online until you stop it.
How do I make my bot restart automatically if it crashes?
Run it under a process supervisor. A systemd unit with Restart=always, or pm2, will relaunch the bot on crash and again after a reboot — no manual intervention needed.
Can I host a Node.js and a Python bot on the same VPS?
Yes. You have root SSH, so install both runtimes and run each bot as its own supervised process. A 2GB VPS I handles a couple of lightweight bots; step up to VPS II or III if you cache heavily or add voice.
Is hourly billing better than monthly for a Discord bot?
For an always-on bot the two come out about the same: hourly billing is capped at 720 hours a month, so a VPS I left up all month bills at most 720 × its hourly rate — about EUR 4.03 at the base EUR 0.0056/hr (locations with a surcharge cap a little higher). Hourly (EUR 0.0056/hr, whole hours) shines for intermittent or event-driven bots you don't run around the clock — you pay only for the hours the server exists, so destroy it when you're done (a stopped VPS still bills).