Discord Bot Hosting
Host your Discord bot on FadeHost, deployed straight from a GitHub repository. Your bot runs 24/7 in a secure, isolated container and redeploys automatically every time you push to GitHub.
- Languages: Node.js (discord.js) and Python (discord.py) — auto-detected from your repo.
- Free tier: your first bot is free (256 MB RAM), always-on, with no coins to grind and no daily renewals.
- Paid tiers: from $2/mo per bot for more RAM, more CPU, and multiple bots — Starter (1 GB), Standard (2 GB), and Pro (4 GB). See the full table below.
You'll find Bot Hosting under Bots in your control panel.
Getting started
- Push your bot to a GitHub repository (public or private).
- In the panel, go to Bots → Host a bot and fill in:
- Name — a label for your bot.
- Region — pick the location closest to you.
- Repository URL — e.g.
https://github.com/you/my-bot. - Bot token and any other secrets go in Environment variables (see below).
- Click Deploy. FadeHost clones the repo, installs dependencies, and starts your bot.
Your first bot uses the free tier automatically (a verified email is required). To run more bots or get more resources, add Bot Hosting to your subscription in the plan builder.
Choosing a language
Leave Language on Auto-detect and we'll pick based on your repository:
| Your repo contains | Runtime | Default start command |
|---|---|---|
package.json | Node.js | npm start |
requirements.txt or pyproject.toml | Python | python bot.py (or main.py) |
You can override the language explicitly, and you can set a custom Start command if your entry point differs (for example node index.js or python -m mybot).
- Node.js: make sure your
package.jsonhas astartscript, or set a custom start command. - Python: put your dependencies in
requirements.txt. Your entry point should bebot.pyormain.py, or set a custom start command.
Environment variables
Your bot token and any config (API keys, database URLs, prefixes) are stored as environment variables and injected into your bot at runtime — they're never committed to your repo.
- On create: add them in the Environment variables box, one
KEY=valueper line. - Editing later: open your bot → Environment → edit the values → Save & redeploy. Your bot restarts with the new values. There's no need to delete and recreate it.
Environment variable names must start with a letter or underscore (e.g. DISCORD_TOKEN, DATABASE_URL).
Auto-deploy from GitHub
Every push to your bot's branch can redeploy it automatically:
- Open your bot → Auto-deploy to get your Payload URL and Secret.
- In your GitHub repo: Settings → Webhooks → Add webhook.
- Paste the Payload URL, set Content type to
application/json, paste the Secret, choose Just the push event, and save.
From then on, every git push clones the latest code, reinstalls dependencies, and restarts your bot — no manual steps.
Private repositories
To deploy from a private repo, add a GitHub access token (with read access to the repo) when you create the bot. FadeHost uses it only to clone your code.
Databases (1-click MySQL)
Paid bots get a MySQL database included — provisioned with one click:
- Open your bot → Database → Create database.
- FadeHost creates the database and injects the credentials into your bot's environment automatically:
DATABASE_URL— a fullmysql://user:pass@host:port/dbconnection string.MYSQL_HOST,MYSQL_PORT,MYSQL_DATABASE,MYSQL_USER,MYSQL_PASSWORD— the individual values.
- Your bot redeploys and can connect right away:
// Node.js (mysql2)
const db = await mysql.createConnection(process.env.DATABASE_URL)
# Python
import os
host = os.environ["MYSQL_HOST"]
The credentials stay visible under Database in the panel. Deleting the database (or the bot) permanently destroys its data, so export anything you need first.
Live console
Open your bot → Live console to watch its output stream in real time — a green Live badge shows while the stream is connected. Anything your bot prints to standard output appears within a second (Python bots run with unbuffered output automatically).
AI Crash Doctor
If your bot gets stuck in a crash loop, FadeHost notices within a minute, reads the logs, and shows a diagnosis card on the bot — the cause in plain English plus a suggested fix. Common failures like an invalid Discord token, missing privileged intents, or a missing dependency are identified instantly; anything trickier is analyzed by AI.
Fix the issue (usually an environment variable or a missing package), then hit Redeploy.
Managing your bot
From each bot you can Start, Stop, Restart, Redeploy (pull the latest code and reinstall), edit the Environment, manage its Database, watch the Live console, and configure Auto-deploy.
Plans & limits
| Free | Starter | Standard | Pro | |
|---|---|---|---|---|
| Price / bot / month | $0 | $2 | $3 | $6 |
| RAM | 256 MB | 1 GB | 2 GB | 4 GB |
| vCPU | 0.25 | 1 | 1 | 3 |
| Always-on · auto-deploy | ✓ | ✓ | ✓ | ✓ |
| Node.js & Python | ✓ | ✓ | ✓ | ✓ |
| Live console · AI Crash Doctor | ✓ | ✓ | ✓ | ✓ |
| 1-click MySQL database | — | ✓ | ✓ | ✓ |
| Bots per account | 1 (verified email) | Multiple | Multiple | Multiple |
Choose a plan when you create a bot, or add Bot Hosting plans to your subscription in the plan builder. Your first bot is always free.
Every bot runs in a hardened sandbox: non-root, read-only filesystem, dropped privileges, and hard memory & CPU limits. Note that a redeploy resets your app directory to match your repo — store any runtime data your bot writes outside the cloned code (or in a database).
Need help?
Join our Discord and our team will help you get your bot online.