VPS for a Discord Bot: How Much Do You Actually Need?
Most Discord bots run comfortably on 1 to 2 GB of RAM and a single vCore — a VPS Nano (4 GB, €3.99 a month) already covers that with room to spare. Music bots and anything past a few thousand servers need more, and sharding only becomes mandatory once a bot reaches 2,500 guilds.
Key takeaways
- A small-to-medium bot (moderation, utility commands, a few hundred servers) runs fine on 1–2 GB RAM and 1 vCore.
- Music bots and bots with heavy member caching need closer to 2 GB RAM and a faster CPU core.
- Discord only requires sharding once a bot passes 2,500 guilds — not before.
- If the bot is the only thing you're running, a dedicated Node.js or Python app plan from €2.99 a month is often simpler than a full VPS.
How much RAM and CPU does a Discord bot really need?
Discord doesn't publish an official RAM requirement, because a bot is just a program holding a WebSocket connection to the gateway: its footprint depends almost entirely on what it does, not on the platform itself. How many servers it's in, whether it caches member lists, and whether it streams audio all matter far more than the framework you pick. In practice, these ranges hold up for most self-coded bots running one process:
| Bot type | Typical size | RAM | vCores |
|---|---|---|---|
| Simple bot (moderation, commands) | Up to a few hundred servers | 512 MB – 1 GB | 1 |
| Bot with database/caching | A few hundred to ~2,500 servers | 1 – 2 GB | 1–2 |
| Music bot (Lavalink) | Any size | 2 GB or more | 2 |
| Sharded bot | 2,500+ servers | 2–8 GB, scales with shard count | 2+ |
None of this has to be exact before launch. Start on a smaller plan, watch real memory use in the panel's graphs, and upgrade if it climbs. On an OnPowered VPS, moving from Nano (4 GB) to Starter (8 GB) happens without downtime or losing data, so sizing conservatively up front costs you nothing.
When does a bot actually need sharding?
Discord doesn't leave this to guesswork: according to its official gateway documentation, a bot must enable sharding once it reaches 2,500 guilds, and below that threshold sharding is genuinely optional, not something to bolt on "just in case" at a few hundred servers. Each shard handles up to 2,500 guilds, and Discord's API returns a recommended shard count once your bot is big enough to need one.
For the overwhelming majority of bots built for a community, a club, or a handful of servers, this simply never comes up. One process, one VPS or app plan, is the whole infrastructure. Sharding only turns into a real conversation if a public bot starts growing into the thousands of servers, at which point RAM, vCores and process management all scale together.
Why free hosting doesn't survive 24/7
A bot that needs to answer commands at 3 a.m. needs a process that's actually running at 3 a.m. Free, general-purpose coding platforms are built for writing and testing code, not for keeping a background process alive around the clock: the free tiers typically spin a project down after a period of inactivity, share CPU and RAM with other users' projects, and reset the filesystem on restart, which quietly wipes local databases or config files the bot relied on.
A community guide maintained by Python Discord makes the same point from the developer side: it recommends a proper VPS for any bot that has to run 24/7, and warns specifically against relying on a free, repurposed platform for anything beyond quick testing. The pattern is consistent across these services: fine for ten minutes of debugging, unreliable the moment real users depend on the bot responding.
VPS or a dedicated Node.js/Python plan: which one for a bot?
If the bot is the only thing running, a full VPS is often more than you need. OnPowered's Node.js and Python app hosting gives 4 GB of RAM, 32 GB of NVMe storage and 2 vCores for €2.99 a month, with the process restarted automatically if it crashes and real-time logs in the panel — no process manager to configure, no server to patch. Both plans share the same specs, so the choice between discord.js and discord.py comes down to the language you already write, not the hosting.
A VPS earns its place once you need more than a managed app runner: root access, Docker, a database server you administer yourself, or several services (the bot, a website, a game server query tool) sharing one box. A VPS Nano gives 4 GB RAM and 2 vCores for €3.99 a month, with full root access, a dedicated IP and DDoS protection included; a VPS Starter steps up to 8 GB and 3 vCores for €7.99 a month if the bot shares the box with something else. Either way, the bot's own footprint from the table above barely moves the needle on either plan.
Running a bot next to your Minecraft server
A large share of Discord bots built by hobbyists exist to manage a Minecraft community: posting the server's online status, syncing whitelists, or relaying chat between Discord and the game. Running that bot on the same VPS as the Minecraft server only works if both have enough RAM; our guide on how much RAM a Minecraft server needs breaks that down by player count and plugin load. In most cases it's cleaner to keep them separate: the Minecraft server on its own plan, the bot on a VPS or a Node.js/Python plan next to it, so a bot restart never touches the game server and vice versa.
Which VPS plan fits a Discord bot?
For a single bot, even a demanding one, Nano rarely gets outgrown. Starter and Classic make sense once the VPS runs more than the bot.
| Plan | vCores | RAM | Disk | Price/month |
|---|---|---|---|---|
| Nano | 2 | 4 GB | 20 GB NVMe | €3.99 |
| Starter | 3 | 8 GB | 40 GB NVMe | €7.99 |
| Classic | 4 | 12 GB | 60 GB NVMe | €11.99 |
Every VPS plan includes full root access, a dedicated IP, Docker support, DDoS protection and one free backup, hosted in OnPowered's data centre in Brussels, Belgium, in the EU. Upgrading between plans happens without downtime, so starting on Nano and moving up later costs you nothing but a few minutes.
FAQ
How much RAM does a Discord bot need?
Most self-coded bots run on 512 MB to 1 GB for simple commands and moderation, and 1 to 2 GB once they add a database or cache member lists. Music bots using Lavalink and bots nearing a few thousand servers typically need 2 GB or more. There's no official figure from Discord: it depends entirely on what the bot does.
What's the cheapest VPS that can run a Discord bot?
An OnPowered VPS Nano, with 4 GB RAM and 2 vCores for €3.99 a month, comfortably covers a single bot, including most music bots. If the bot is the only thing you're hosting, the dedicated Node.js or Python app plan at €2.99 a month is cheaper still and needs no server administration.
Can I run a Discord bot on free hosting?
Technically yes for short test runs, but not reliably for a bot people depend on. Free, general-purpose platforms tend to sleep projects after inactivity, share resources unpredictably, and reset the filesystem on restart, which breaks anything the bot stored locally. A small paid VPS or app plan removes all three problems.
Do I need a VPS, or is Node.js/Python app hosting enough?
If the bot is the only process you're running, a dedicated Node.js or Python plan is usually simpler and cheaper: it restarts the bot automatically and needs no server maintenance. Reach for a VPS once you need root access, Docker, or to run the bot alongside other services on the same machine.
When does a Discord bot need sharding?
Only once it joins 2,500 guilds: that's the threshold where Discord's gateway documentation makes sharding mandatory. Below it, a single process handles everything, and adding sharding earlier only adds complexity without any benefit.
See also
- How much RAM does a Minecraft server need?
- Aternos alternatives: when free hosting isn't enough
- Node.js and Python app hosting
- VPS plans
A Discord bot rarely needs more than a VPS Nano gives it: 4 GB of RAM, 2 vCores and full root access from €3.99 a month, with DDoS protection and one free backup included. If the bot is the only thing you're running, the Node.js app plan at €2.99 a month is the simpler route. Compare all VPS plans and pick the one that matches what else you're running.