Python
Language for bots and scripts
BotsFree
Python, Node.js and Docker: your bot keeps running even when your computer is off
Six steps from small to large, with resources and price matched to the job.
A Telegram, Discord or VK bot on long polling, no database
Why these resources$2.85/mo
$0.10 for 24 hours
$3.14/mo
$0.11 for 24 hours
$2.59/mo
$0.09 for 24 hours
$3.10/mo
$0.11 for 24 hours
Users, orders and settings in PostgreSQL or SQLite
Why these resources$3.29/mo
$0.12 for 24 hours
$4.48/mo
$0.16 for 24 hours
$2.99/mo
$0.11 for 24 hours
$3.89/mo
$0.14 for 24 hours
$5.16/mo
$0.18 for 24 hours
$6.50/mo
$0.23 for 24 hours
$4.63/mo
$0.17 for 24 hours
$5.83/mo
$0.21 for 24 hours
HTTPS webhooks, a web admin panel, Redis and background jobs
Why these resources$6.58/mo
$0.24 for 24 hours
$8.97/mo
$0.32 for 24 hours
$5.98/mo
$0.21 for 24 hours
$7.77/mo
$0.28 for 24 hours
$13.15/mo
$0.47 for 24 hours
$17.94/mo
$0.64 for 24 hours
$11.96/mo
$0.43 for 24 hours
$15.54/mo
$0.56 for 24 hours
$20.90/mo
$0.75 for 24 hours
$28.50/mo
$1.02 for 24 hours
$19.00/mo
$0.68 for 24 hours
$24.70/mo
$0.88 for 24 hours
Need a different size? Build a configuration or pick a ready-made plan.
Minimums come from the apps' official requirements; our estimates are marked.
A long-polling bot is a single process, and most of the memory goes to the OS: the Ubuntu cloud image needs 1 GB. Python and Node.js in the library have the same minimum: 1 vCPU, 1 GB, 10 GB.
The bot and PostgreSQL on one server. PostgreSQL advises about 25% of memory for shared_buffers, 512 MB here; the rest goes to the bot and the OS.
With a restart policy, Docker brings a container back after a crash and after a server reboot. The second core and 30 GB are for building images and their layers. Our estimate.
Caddy or Nginx receives webhooks over HTTPS, Redis holds the queue and cache, Celery or BullMQ workers run background jobs. Our estimate.
A broadcast to a large user base is a queue of thousands of jobs: the cores go to the workers, the memory to PostgreSQL and Redis. Our estimate.
Dozens of bot containers, a shared database and Redis. Our estimate.
Tick the ones you need when ordering, and they are installed together with the server.
root@vps:~# sudo apt update && sudo apt install -y python3 python3-venv python3-pip
✓ Python 3.14.8 installed · about 45 seconds
root@vps:~#
Language for bots and scripts
BotsFree
JavaScript runtime
Dev / ToolsFree
JS and TS runtime
Dev / ToolsFree
Language for network services
Dev / ToolsFree
Container runtime
Dev / ToolsFree
In-memory cache and queues
DatabasesFree
Relational database
DatabasesFree
Web server with auto HTTPS
Dev / ToolsFree
The price of the “Bot with a database” step in each data center.
| Location | Per month |
|---|---|
| NetherlandsAmsterdam | $3.29 |
| GermanyFrankfurt | $4.48 |
| PolandWarsaw | $2.99 |
| EstoniaTallinn | $3.89 |
Check the latency to each data center before you order: Looking Glass · Speedtest
Filled is what the job uses, empty is overpayment. Prices in the Netherlands, per month.
Needs: 1 vCPU · 1 GB · 10 GB
Ready-made plan NL-R9-1: 1 vCPU · 2 GB · 10 GB
$2.85/mo
instead of $2.89 for the ready-made plan
1% cheaperNeeds: 1 vCPU · 2 GB · 20 GB
Ready-made plan NL-R9-2: 1 vCPU · 3 GB · 30 GB
$3.29/mo
instead of $3.49 for the ready-made plan
6% cheaperNeeds: 2 vCPU · 4 GB · 40 GB
Ready-made plan NL-R9-4: 3 vCPU · 5 GB · 45 GB
$6.58/mo
instead of $7.90 for the ready-made plan
17% cheaperNeeds: 4 vCPU · 8 GB · 80 GB
Ready-made plan NL-R9-6: 4 vCPU · 8 GB · 150 GB
$13.15/mo
instead of $14.63 for the ready-made plan
10% cheaperNo answer here? Message @ExpressHost_SupportBot.
No. “Hosting in a Telegram bot” is how you manage the server: ordering, payment and reboots in our bot. This page is about a server for your own bots on Python, Node.js or in Docker, for any platform: Telegram, Discord, VK.
A single long-polling bot runs fine on 1 vCPU, 1 GB RAM, 10 GB NVMe ($2.85 a month): most of the memory goes to the OS. If the bot keeps data in PostgreSQL, we plan 1 vCPU, 2 GB RAM, 20 GB NVMe for $3.29; that's our estimate.
Yes. The easiest way is one Docker container per bot: they don't get in each other's way, and with a restart policy Docker brings a crashed container back by itself. For several bots, take the “Several bots in Docker” plan (2 vCPU, 2 GB RAM, 30 GB NVMe, $5.16 a month).
Run it as a systemd service with Restart=always, under PM2 for Node.js, or in Docker with the unless-stopped policy. The bot then comes back both after a crash and after a server reboot.
Long polling is simpler: the bot needs no domain and no open port. A webhook needs an HTTPS address: the server gets a *.expresshost.cloud domain right away, and a Let's Encrypt certificate is issued by Caddy from the library or by “Projects” in the server settings.
Bots on Ryzen and NVMe — in 4 steps.