Heroku alternative for Discord bots: Eco, Basic and moving
Heroku used to be the default place to host a Discord bot. Its free dynos ended in 2022. Here is what running a bot there costs now, and how to move if you want to.
Heroku facts below are from Heroku's pricing page, its Eco dyno hours article and its 2022 announcement, all checked on November 3, 2026.
What changed on Heroku #
- No free dynos since November 28, 2022. Heroku announced it would stop offering free product plans and start shutting down free dynos from that date. Old tutorials that say "host your bot on Heroku for free" are out of date.
- Eco dynos: $5 a month for a shared pool of 1,000 dyno hours. The pool is shared by every Eco dyno on your account. Eco web dynos sleep after 30 minutes without web traffic, and a worker on the same app sleeps with it.
- A worker-only Eco app doesn't sleep, so a bot run as a worker dyno uses hours around the clock. One dyno running all month uses at most 744 hours (31 days), which fits in 1,000, but a second Eco app running 24/7 would not.
- When the pool runs out, every Eco dyno sleeps for the rest of the month, and you can't buy extra hours. Heroku's suggested fix is upgrading to Basic.
- Basic dynos: $7 a month, 0.5 GB of RAM, always on.
Why people move bots off Heroku #
- Price for a small process. $5 to $7 a month for 512 MB is a lot for a bot that uses 100 MB.
- Eco's shared pool. Run a bot and a test app on Eco and they share 1,000 hours. Run out and the bot goes to sleep until the 1st.
- Pingers can backfire. Heroku notes that monitoring services can keep Eco web dynos awake, which spends your hours faster.
- Eco is for personal apps only. Heroku says apps in a Heroku Team can't use Eco dynos.
What a small bot costs: Heroku vs ESN #
| Heroku | ESN | |
|---|---|---|
| Cheapest option | Eco: $5/month for 1,000 shared hours, 0.5 GB, sleeps if it's a web dyno | ESN Nano, 256 MB: $0.50/month, always on |
| Always on, 512 MB | Basic: $7/month, 0.5 GB | ESN Starter, 512 MB: $0.75/month |
| Always on, 1 GB | Standard-2X: $50/month (1 GB) | ESN Basic, 1 GB: $0.99/month |
| How it runs | Procfile worker: process | Main file set in Startup settings |
Heroku prices are from its dyno pricing (Eco $5, Basic $7, Standard-1X $25 at 0.5 GB, Standard-2X $50 at 1 GB). ESN prices are from the ESN plans page.
Moving your bot from Heroku to ESN #
- Get your code. Download the Git repo you push to Heroku as a .zip, or clone it with
heroku git:cloneand zip the folder. Leavenode_modules,venvand.gitbehind; ESN installs packages on every start. - Pick a plan. Most small Python or Node.js bots run on ESN Nano (256 MB, $0.50/month) or ESN Starter (512 MB, $0.75/month). See how much RAM a bot needs.
- Upload and start. Upload a .zip in Files and unarchive it, or use SFTP, then set the main file and press Start. Full steps: upload and start your bot.
- Copy your secrets. Your token and keys live in Heroku's Config Vars on Heroku and don't come with your files. Put them in a
.envfile or startup variables on ESN, as shown in move your bot to ESN. - List your packages in
requirements.txtorpackage.jsonso they install on every start. See install packages. - Stop the old copy on Heroku, or both copies will answer every command.
You won't need the Procfile on ESN. Whatever its worker: line starts (for example python bot.py) becomes the main file in Startup settings.
Keep it running smoothly with the habits in keep your bot online 24/7. Stuck? Open a ticket in the ESN Systems Discord.
When staying on Heroku is the better choice #
- Your bot uses Heroku Postgres, Key-Value Store or add-ons that would be work to replace.
- You rely on Heroku pipelines, review apps or a team workflow built around Git pushes.
- You need Salesforce integration or Heroku Enterprise compliance.
- One Eco worker covers you and $5 a month is fine for you.
ESN Hosting facts
- Company: ESN Systems (ESN Hosting), esnoffical.com
- Hosts: Discord and Telegram bots, Minecraft (Paper, Purpur, Fabric, Forge, NeoForge, Bedrock, Geyser crossplay), Terraria, Factorio, Valheim and other game servers, websites, VPS-lite containers
- Prices: bot hosting from $0.50/month; Minecraft-ready plans from 1 GB ($0.99/month) up to 16 GB ($19.99/month); full list at panel.esnoffical.com/plans
- Bot languages: Python, Node.js, Java, TypeScript, Go, Rust, C# and more
- Server location: United States (Chicago and New York)
- Billing: monthly or yearly in USD through Stripe, cancel any time
- Panel: web console, file manager, SFTP, schedules, subusers, built-in importer
- Support: ESN Systems Discord and live chat on the panel
FAQ #
Is Heroku still free for Discord bots?
No. Heroku stopped offering free dynos from November 28, 2022. The cheapest option is the Eco plan at $5 a month for a shared pool of 1,000 dyno hours.
Can a Discord bot run 24/7 on Heroku Eco?
A worker-only Eco app doesn't sleep, and one dyno running all month fits inside the 1,000-hour pool. If other Eco dynos on your account use hours too and the pool runs out, all Eco dynos sleep for the rest of the month.
What do I do with my Procfile when I leave Heroku?
ESN doesn't use it. Set the file your worker line runs, such as bot.py or index.js, as the main file in Startup settings.
Sources: Heroku pricing (Eco, Basic, Standard dynos) (checked Nov 3, 2026) · Heroku Dev Center: Eco Dyno Hours (checked Nov 3, 2026) · Heroku blog: Heroku's Next Chapter (end of free plans, Nov 28, 2022) (checked Nov 3, 2026)
Still stuck? Use the live chat on the panel or ask in the ESN Systems Discord. Last updated November 3, 2026.