The spec that matters is uptime
Most people arrive at this question after hosting a bot on their own computer and watching it drop offline every time the machine sleeps, reboots for updates or loses Wi-Fi. That experience frames the whole decision. A Discord bot is a small, long-lived process that mostly waits for events and reacts to them. It does not need many cores or gigabytes of memory. It needs a place that is awake twenty-four hours a day with a stable connection, and that is precisely what the cheapest VPS provides.
So do not overbuy. For a bot that answers commands, posts messages, moderates, or reacts to events across a handful of servers, one vCPU and one gigabyte of RAM is a comfortable home. The value you are paying for is not raw power; it is continuity — a stable IP address, an operating system that stays put, and the ability to run the bot under a supervisor that restarts it the instant it falls over.
Where the maths changes: voice and music
There is one branch in the road that turns a trivial workload into a real one, and it is audio. The moment your bot joins voice channels to play music or relay sound, it stops idling and starts working continuously. Streaming audio means pulling a source, decoding it and re-encoding it into the format Discord expects, in real time, for every active channel. That is steady CPU load and steady bandwidth, multiplied by how many servers are listening at once.
| Bot type | Sensible starting plan | What drives the size |
|---|---|---|
| Text, commands, moderation | 1 vCPU, 1 GB RAM | Uptime and a stable IP; load is minimal. |
| Music or voice in a few servers | 2 vCPU, 2 GB RAM | Real-time audio encoding and bandwidth. |
| Large bot with a database and dashboards | 2 vCPU, 4 GB RAM | Persistent data, caching and concurrent commands. |
A short buying checklist for a Discord bot
- Prioritise reliable uptime and a stable IPv4 over raw CPU and RAM figures.
- Start at the smallest plan for a text bot; step up only for voice or a database.
- If the bot plays audio, check the monthly bandwidth allowance, not just the specs.
- Pick a location with low latency to Discord's voice regions your users use.
- Make sure you can run the bot under systemd or Docker for automatic restarts.
Running a bot that stays up
Supervise, do not babysit
The difference between a hobby script and a dependable bot is what happens after a crash. Running the process in a plain SSH terminal means it dies when you disconnect and stays dead until you notice. Wrap it in a systemd service or a Docker container with a restart policy, and the host brings it back on its own — after a crash, after an out-of-memory event, after a reboot. This one habit removes most of the "the bot is offline again" messages from your day.
Watch for slow leaks
Small bots rarely fail loudly; they fail slowly. A memory leak in a library or your own code can creep upward over days until the process is killed at 3 a.m. On a 1 GB server there is little slack to absorb that, so keep an eye on memory over time and add a modest swap file as a cushion. If memory climbs steadily rather than settling, that is your signal to fix the leak or move to a larger plan, not to keep restarting blindly.
Secrets and tokens
Your bot token is a password to your bot's identity. Keep it out of the code and out of version control — put it in an environment file with tight permissions, and rotate it immediately if it ever leaks. A leaked token lets someone else drive your bot, so this is the one piece of the setup where a few minutes of care prevents a genuinely bad day. The rest of the server should follow the usual basics: SSH keys, a non-root user and a firewall that opens only what you need.
When to grow
Upgrade when the bot gains a database it must keep responsive, when audio usage grows across many servers at once, or when it becomes popular enough that command bursts overlap. Until then, a bigger plan sits mostly idle. The right time to scale a Discord bot is when the evidence — memory pressure, audio stutter, slow command responses — points at a specific limit, not because a larger number feels safer.
Ready to keep it online?
Pick a small, always-on VPS and give your Discord bot a home that never sleeps.