dedicated bot template

Discord bot hosting that keeps the dot green

A template built for bots, not repurposed from web apps: JavaScript, TypeScript or Python, your token in an encrypted vault, slash-command IDs baked in, and a restart loop that brings a crashed bot back before anyone types /uptime.

Host my botSee pricingfrom CHF 5.90/mo · online 24/7

general

3,214 online

M

maya today 12:03

is the bot down again or just me

K

kai today 12:04

/uptime

H

hostybottoday 12:04

Online

uptime
47d 03:12:09
heartbeat
38 ms
restarts
0 this week

Message #general

hosterman container

your bot

node index.js · pid 1 · 512 MB

discord

gateway.discord.gg

session resumed · shard 0/1

A bot is an outbound WebSocket connection — it dials Discord, never the other way round. So there are no ports to open, no webhooks to wire, no domain to configure. The container connects, identifies, and stays resident. That's the whole job, done properly.

A template that speaks Discord

Every generic host makes bots pretend to be web apps. This template asks for the things a bot actually has — a token, an application ID, a library runtime — and handles them the way they should be handled.

new project · discord bottemplate

Language / runtime

JavaScriptTypeScriptPython 3.12Python 3.13

Bot token→ encrypted vault

••••••••••••••••••••••••

Application ID

1146227934829680702

advanced — dev server ID · shard count · start command

  • The token goes into the vault, not a config filePaste it once at creation — it's encrypted at rest and injected into the container only at runtime as DISCORD_TOKEN. It never touches your repo, plaintext settings or disk.
  • Slash-command IDs are first-class settingsApplication ID and an optional dev server ID become DISCORD_APPLICATION_ID and DISCORD_GUILD_ID — so guild-scoped command registration works instantly while you develop.
  • No port, no domain, nothing to exposeBots dial out to Discord's gateway; nothing dials in. The template skips the whole HTTP/port/domain setup other app hosts make you click through.
  • Sharding when you're big enough to need itOne optional field becomes SHARD_COUNT. Leave it blank until Discord asks — around 2,500 servers.

Your library's language, ready to run

discord.js, discord.py, Pycord, Eris — dependencies install from your package.json or requirements.txt automatically.

JavaScript

Node 22

node index.js

TypeScript

Node 22 · tsx, no build step

npx tsx index.ts

Python

3.12

python main.py

Python 3

3.13

python3 main.py

Crashes happen. Offline doesn't.

An unhandled rejection, a flaky dependency, a Discord outage — long-running processes die sometimes. The template's supervisor loop restarts your bot within seconds and the logs tell you exactly why it went down.

  • Automatic restartsThe process comes back on its own — you read about the crash later instead of hearing about it from your server.
  • Live logs & metricsstdout streams to the dashboard in real time, next to CPU and memory charts.
  • A real root terminalOpen a shell in the browser to poke at files, run migrations or test a fix — no SSH setup.

Bot outgrowing a JSON file? Add managed PostgreSQL for member data or Redis for cooldowns and queues — same dashboard, same network. Web dashboards and APIs run on the app template.

logs · live streaming

12:04:07[gateway] connection reset by peer

12:04:07process exited (code 1)

12:04:12restart ▸ npm install && node index.js

12:04:13[gateway] logged in as hosty#4041

12:04:13● online — session resumed

downtime: 6 seconds. nobody noticed.

Token to online in three steps

  1. 01

    Create from the template

    Pick your runtime — JavaScript, TypeScript or Python — and name your main file.

  2. 02

    Paste your token

    It goes straight into the encrypted vault and comes out only inside the container, as DISCORD_TOKEN.

  3. 03

    Deploy and forget

    Connect GitHub or upload a zip. The bot logs in, stays online, and redeploys on every push.

Discord bot hosting — FAQ

Can I host a discord.js or discord.py bot?

Yes. The Discord bot template runs JavaScript and TypeScript on Node 22 and Python on 3.12 or 3.13 — which covers discord.js, discord.py, Pycord, Eris and most other libraries. Pick the runtime, name your main file, and the template installs dependencies and starts the bot for you.

Does the bot really stay online 24/7?

Yes. Unlike free app platforms that put processes to sleep after inactivity, your bot runs in a dedicated container that stays up around the clock. If the process crashes it is restarted within seconds, and you can see exactly what happened in the live logs.

How much does Discord bot hosting cost?

Application plans start at CHF 5.90/mo (net; 8.1% Swiss VAT is added) — a small base fee plus the memory, CPU and storage you pick. A typical Discord bot is light and runs comfortably on the smallest plan. There are no per-server or per-user charges.

How do I deploy my bot?

Create a project from the Discord bot template, then either connect a public or private GitHub repository — it redeploys automatically on every push — or upload your code as a zip. Dependencies from package.json or requirements.txt are installed for you.

Where do I put my bot token?

Straight into the template's token field when you create the project. It is written to the encrypted secrets vault — never to plaintext settings, disk or your repository — and injected into the container only at runtime as DISCORD_TOKEN. You can rotate it any time under Variables.

Can my bot use a database?

Yes. A small SQLite file works out of the box thanks to persistent storage, and for anything bigger you can launch a managed PostgreSQL, MySQL, Redis or MongoDB database on Hosterman and connect over a private network — its connection string is generated for you.

Do I get shell access to debug my bot?

Yes — every project includes a real root terminal in the browser. Inspect files, run one-off scripts, check versions or tail logs exactly like you would on your own machine, with no SSH keys to set up.

What about slash commands and gateway intents?

The template exposes your Application ID as DISCORD_APPLICATION_ID and an optional dev server as DISCORD_GUILD_ID, so command registration works out of the box — guild commands update instantly while you develop. Intents and voice work unchanged: your bot connects out to Discord's gateway exactly as it does locally, so no inbound ports or webhooks are needed.

status: waiting for your bot

Set your bot's status to online. Permanently.

Create it from the Discord bot template, paste your token, deploy from GitHub — and stop thinking about hosting.

Every node is health-checked around the clock.

live system status →