Discord bot hosting: deploy it and forget it
Wrote a bot with discord.py or discord.js and have nowhere to run it? Connect the repo - Dada Cloud builds and runs it as a background process. No domain and no webhooks needed: the bot opens its own websocket to Discord. If it crashes, it restarts itself. Free tier, servers in Russia.
Why Discord bots run on Dada Cloud
Background-worker mode
A Discord bot accepts no inbound requests - it holds a websocket to the gateway itself. Turn on background-worker mode and no useless public domain is issued.
No Docker, no server setup
A Python bot builds from requirements.txt, a Node.js bot from package.json. No Dockerfile, no systemd unit to write.
Crashes restart themselves
A dropped gateway connection, an unhandled exception, a dependency update - the process comes back automatically.
PostgreSQL for guild settings
Command prefixes, roles, economy, moderation history - in a managed database next door with DATABASE_URL wired in.
Token in environment variables
The bot token is set in the console and injected at start. Keep it out of the repo - Discord revokes leaked tokens automatically.
Free tier to start
Your first bot runs for free, no card required. Pay in rubles when it grows.
How to deploy a Discord bot
Six steps from code to a bot that stays online around the clock.
Get a bot token
In the Discord Developer Portal create an application, add a bot and copy the token. Enable the privileged intents you need there too - without Message Content Intent the bot cannot read message text.
Pin your dependencies
requirements.txt with discord.py for Python, package.json with discord.js for Node.js. That file is how the platform knows how to build the project.
Create the app in worker mode
Turn on background-worker mode when creating the app - the bot needs no public domain and none will be issued.
Connect your code
Connect a GitHub repo and every push builds a new version. Without git, a zip archive up to 100MB works too.
Set the token as an environment variable
DISCORD_TOKEN and other secrets are set in the console. Read them from the environment, not from a file in the repo.
Check the bot is online
A minute after the build the bot shows up online in your server's member list. Gateway connection logs are visible in the panel.
What Discord bot hosting costs
Real platform tiers, and an honest comparison with renting your own VPS.
| Tier | Price | What you get |
|---|---|---|
| Free | 0 ₽/mo | One bot with a database, no card required. Enough for a bot serving a handful of guilds. |
| Startup | 990 ₽/mo | 5 apps, 2 databases, 7-day backups - several bots, or a bot with a web dashboard. |
| Business | 2,900 ₽/mo | 20 apps, 10 databases, 30-day backups, priority support. |
| Your own VPS | comparable on hardware | A VPS is cheaper per unit of hardware. But systemd or pm2, database backups and restarts after a crash cost your time. |
Worth knowing up front
Three places a Discord bot deploy usually trips.
Privileged intents are enabled in the portal
Message Content, Server Members and Presence Intent are toggled in the Developer Portal and declared in code. Without them the bot starts but sees no message text - which looks exactly like a broken bot.
The bot needs no domain - don't give it one
A regular app instead of a worker gets a domain nobody will ever open. Use background-worker mode so the bot spends nothing on a web layer.
A local file instead of a database will vanish
The app disk is wiped on every build, so a SQLite file or a settings json disappears on the next deploy. Keep state in PostgreSQL.
Discord bot hosting - FAQ
No. A Discord bot opens a websocket to the gateway and receives events over it - it accepts no inbound traffic. That is why it runs as a background worker, with no domain. A domain is only needed for an HTTP interactions endpoint.
Get your backend live from GitHub today
Connecting a repo takes a minute. You only pay for what you actually use.
Create account