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 redeploys it automatically. The easiest way is the FadeHost GitHub App — one click, no tokens or webhooks to configure:
- Open your bot → Auto-deploy on push → Connect GitHub.
- GitHub asks which repositories to grant access to — pick your bot's repo (or your whole account) and click Install.
- That's it. You're sent back to the panel, and from then on every
git pushto your bot's branch clones the latest code, reinstalls dependencies, and restarts your bot.
The panel shows the last deployed commit on the bot, and a toast pops up live when a push lands.
You can manage or uninstall the App anytime from your GitHub Settings → Applications. One install covers all your bots — any bot whose repo lives on a connected account auto-deploys.
Alternative: webhook with a token
If you'd rather not install the App, the classic path still works:
- Open your bot → Auto-deploy → Use a token instead (or Set it up manually to get the Payload URL and Secret).
- For manual setup, 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.
Private repositories
Two options:
- GitHub App (recommended): connect GitHub as described above — installing the App on a private repo is all it takes. FadeHost fetches short-lived access tokens on every deploy; you never handle credentials.
- Access token: add a GitHub access token (with read access to the repo) when you create the bot. FadeHost uses it only to clone your code.
Team sharing
Share a bot with your team from the bot's page → Team access. Pick the team and an access level:
- Operate — members can see the bot, watch the live console and logs, and start/stop/restart/redeploy.
- Full — members can additionally edit environment variables and manage the database. Only grant this to people you trust: it exposes your bot token and other secrets.
Deleting the bot and changing the sharing itself always stay with the owner. Members see shared bots on their Bots page with a Shared with you badge (they need the team selected as their active team).
Databases (1-click MySQL)
Every paid bot plan (Starter and up) includes a MySQL database at no extra cost — it doesn't count against anything and is provisioned with one click. (The free tier doesn't include a database.)
- 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.