pnpm start / python -m app.bot.entrypoint) is fine for
testing, but it stops the moment you close that terminal or your machine sleeps. For anything
real, you need it running unattended on a server.
Options
A VPS with a process manager
The most common path. Rent a small VPS (1 vCPU / 1GB RAM is enough for most of these bots),
and keep the process alive with
systemd, pm2 (Node bots), or supervisord, so it
restarts automatically if it crashes or the server reboots.Docker
Several bots ship a
Dockerfile and docker-compose.yml already — if yours does,
docker compose up -d runs the bot (and its Postgres, if it needs one) as a managed
container with restart policies built in. Check the bot’s own README for whether this is
included.A machine you already run
A home server or NAS works too, as long as it has a stable connection — Discord’s gateway
needs a persistent outbound WebSocket connection, so intermittent internet means the bot
keeps disconnecting and reconnecting.
Keeping it updated
If you’re on a private repo (rather than a one-time.zip), git pull plus re-running
dependency install and migrations covers most updates. If you received a .zip, you’ll need to
re-apply any local configuration changes on top of the new version manually — diff your .env
against the new .env.example for any new variables.
License & support
What’s covered if something breaks, and what you’re allowed to do with the code.