Telegram and MAX bot hosting
Start from a template or your own repository and the bot answers within a couple of minutes. It runs as a long-lived container that does not sleep between messages, with Postgres and Redis on the private network and an HTTPS address for webhooks.
Last updated: 2026-10-18
- Templates: a Telegram bot in Python or Node.js, a MAX bot, an AI agent bot
- Postgres, Redis, schedules and logs in one project
- Simple $5/month, Pro $20/month; rubles and Russian bank cards in Russia
No card required, then Simple at $5/month.
Where bots live
Where bots usually live, and what breaks there
- A VPS is cheap, but updates, systemd units, backups and certificates are yours to run
- Free hosting puts the process to sleep, so the bot answers a minute late or not at all
- An AI bot needs its model address, key and outbound access set up by hand on every server
A bot is a small process, yet the same things always grow around it: a database for state, a cache or a queue, HTTPS for the webhook, scheduled jobs, logs for when something goes wrong, and backups. On your own server you assemble all of that by hand and keep it running by hand.
How it works
How a bot runs on Inquir
A bot is a container application: a Dockerfile from your repository, or a template. The platform builds the image on its own servers, runs it and restarts it when it crashes. Long polling needs no open ports; for a webhook the application gets a public HTTPS address on apps.inquir.org, or your own domain with an automatic certificate.
Postgres and Redis start from templates in the same project and reach the bot over the private network at an address like bot-db.apps.internal; inquir apps connect writes the connection URL into the bot’s environment. Data sits on persistent volumes, and volumes are backed up.
The AI bot template works with any OpenAI-compatible API: the address goes into the OPENAI_BASE_URL variable and the key into OPENAI_API_KEY. Outbound network access is configured for each application.
What you get
What a bot gets on the platform
Does not sleep
An application runs continuously, with no cold start per message. A crashed process is restarted automatically.
Postgres and Redis next to it
Database templates in the same project, a private network between services, data on persistent volumes.
Webhook and a domain with TLS
A public HTTPS address for setWebhook right after the deploy; your own domain is verified with a TXT record and gets its certificate automatically.
Any OpenAI-compatible API
The AI bot template takes the model address from OPENAI_BASE_URL, so it works with any OpenAI-compatible provider or your own model server.
Schedules and functions
Broadcasts, reminders and clean-ups run as functions and pipelines with a cron trigger in the same workspace.
Logs and metrics
Live container logs and their history, CPU and memory per instance, in the dashboard and in the CLI.
Backups
Volume backups are taken automatically every 6 hours and on demand before a risky migration; a restore is one command. Applications whose volumes hold more than 2 GB in total are not included yet.
Russia region
Applications and their volumes can be placed in Russia: choose the RU region for the service.
Russian bank cards
Plans are priced in rubles and paid through YooKassa with cards of Russian banks.
What to do next
A bot in a couple of minutes
Pick a template
Open the template catalog in a project: a Telegram bot in Python or Node.js, a MAX bot or an AI agent bot. Or bring your own repository with a Dockerfile.
Paste the token
Store the token from @BotFather or from the MAX platform as a secret variable, so it never lands in the code.
Deploy
The platform builds the image and starts the bot. Build logs and the first start are visible right away.
Add a database and a domain
Postgres or Redis from a template in the same project; your own domain from the application’s domains tab.
From the terminal
The same from the terminal
The CLI does what the dashboard does: a database, a bot from the current folder, its address and its logs.
npm install -g @inquir/compute-cli@latest && inquir login # Postgres next to the bot; the bot gets DATABASE_URL inquir apps create bot-db --template postgres inquir apps create my-bot --port 8080 --ingress public inquir apps connect bot-db my-bot # Build ./Dockerfile on the platform and send it to production # (store the bot token as a secret variable in the dashboard) inquir apps deploy my-bot --promote # The HTTPS address for setWebhook, then live logs inquir apps status my-bot inquir apps logs my-bot
Sizing
How much a bot needs
Typical figures for small bots: a guide, not a guarantee. The CPU and memory metrics show your real numbers after the first day. Simple includes 1 GB of memory, 0.5 vCPU guaranteed (bursting to 1 vCPU), 5 GB of disk; Pro includes 4 GB of memory, 2 vCPU guaranteed (bursting to 4 vCPU), 20 GB of disk. A plan counts the limits set on services, not what they use, and an application gets 512 MB and 0.5 vCPU by default, so on Simple lower the limits of small services with --memory and --cpu.
| Bot | Memory | CPU | Plan |
|---|---|---|---|
| A simple bot: commands and replies (aiogram, grammY) | 80–200 MB | up to 0.1 vCPU | Simple |
| A bot with Postgres and Redis | 300–600 MB for all three services | 0.1–0.3 vCPU | Simple with lowered limits; Pro with the defaults |
| An AI bot: LLM API calls, dialogue history in the database | 300–800 MB | 0.2–0.5 vCPU | Simple or Pro |
| Several bots, a task queue, workers | 1–3 GB | 0.5–2 vCPU | Pro |
Pricing
Plans for bots
One plan covers the bot, its database and its cache. Pick by memory and CPU; the table above shows typical sizes.
Free
14 days free, no cardStarts automatically after you confirm your email and first sign in, once per account. After 14 days, choose Simple or Pro to keep running.
Resources for all your workspaces
- 0.25 vCPU guaranteed, bursts to 0.5 vCPU
- 512 MB RAM
- 1 GB storage
- 2 replicas
- 2 concurrent functions
- 1 concurrent build
- 1 workspace
- 10K invocations/mo
Simple
For personal projects and small products ready for their next step.
Resources for all your workspaces
- 0.5 vCPU guaranteed, bursts to 1 vCPU
- 1 GB RAM
- 5 GB storage
- 4 replicas
- 4 concurrent functions
- 1 concurrent build
- 3 workspaces
- 100K invocations/mo
Pro
For growing teamsFor teams and production products that need more resources.
Resources for all your workspaces
- 2 vCPU guaranteed, bursts to 4 vCPU
- 4 GB RAM in total, up to 2 GB per app
- 20 GB storage
- 10 replicas
- 16 concurrent functions
- 2 concurrent builds
- 10 workspaces
- 1M invocations/mo
Enterprise
On-PremiseFor organizations with specific resource, deployment and support requirements.
- Discuss your resource requirements
- Plan your deployment together
- Agree on support and service terms
- Get an individual proposal
In every plan
- Warm containers
- API Gateway
- Pipelines
- Webhooks
Free, Simple and Pro differ only in resources. Free runs for 14 days after you confirm your email; Enterprise terms are agreed individually.
Trade-offs
A VPS or a platform: an honest comparison
A VPS gives you full control and a predictable bill. If you enjoy running Linux and you have one bot, it is a perfectly good choice.
A platform takes over what you do yourself on a VPS: building the image, restarting a crashed process, the certificate for your domain, volume backups and logs. In exchange you work inside its model: a container, environment variables and a plan with CPU and memory limits.
The more bots and services around them you run, the bigger the difference: on a platform the second bot is one more service in the same project, not one more server.
When it fits
Who it is for
When this works
- Telegram and MAX bots with a database, a cache and scheduled jobs
- AI bots on any OpenAI-compatible API
- Teams that want to pay in rubles and not administer a server
When to skip it
- You need root on the machine or your own kernel: take a VPS
- The bot needs a GPU for a local model: the Simple and Pro plans have none
FAQ
FAQ
How is this different from a VPS?
A VPS gives you a virtual machine, and everything around the bot is yours to set up: Docker or systemd, restarts, certificates, backups, monitoring. Here you hand the platform a Dockerfile or a template, and the build, restarts of a crashed process, HTTPS, logs and volume backups are already there. There is no root on the server: you manage the application through the dashboard and the CLI, and configure it with the application’s variables.
Polling or webhook: which one?
Both work. Long polling is simpler: the application needs no public port, the bot fetches updates itself. A webhook suits heavy traffic and handling updates as HTTP requests: the application gets a public HTTPS address on port 443 with a valid certificate, which is exactly what setWebhook in Telegram expects.
Can I move a bot from another host?
Yes. If the bot already has a Dockerfile, deploy its folder with the CLI; if not, move the code into a template. Postgres data moves as a dump; the new database has no public port, so restore it from an application on the same private network. After the move, call setWebhook with the new address for a webhook bot; for a polling bot, stop the old process first so two instances do not take the same updates.
Does the bot fall asleep when nobody uses it?
No. A container application runs until you stop it. Functions may scale to zero after a long idle period, so a bot that must answer at once should run as an application.
Which AI models can the bot use?
Any model behind an OpenAI-compatible API: the AI bot template reads the address from OPENAI_BASE_URL and the key from OPENAI_API_KEY. You choose the provider and work under its terms; outbound network access is configured for each application.
Where is the data stored?
Applications and their volumes can be placed in Russia: choose the RU region for the service, and its container and volumes run on servers in Russia. Accounts, application variables, log history and metrics are stored in the Netherlands, and the dashboard is served from there.
How do I pay?
Simple is $5 and Pro $20 per month. In Russia plans are priced in rubles, Simple 590 ₽ and Pro 2 490 ₽ per month, with 2 months free on yearly billing, and paid with Russian bank cards through YooKassa.