Affordable Node.js bot hosting
JustRunMy.App hosts container-compatible JavaScript and TypeScript bots using Zip, Git, or Docker deployments. Run the built application as a persistent process, keep tokens in environment variables, and use logs to check startup and command handling.
A good fit for: discord.js community bots, Telegraf and grammY Telegram bots, JavaScript workers, and TypeScript agent applications.
Ship a reproducible production project
Include package.json and your lockfile. With npm and a matching package-lock.json, npm ci installs the locked dependency tree and fails if the manifest and lockfile disagree. Use the install workflow appropriate for your package manager.
A JavaScript project might start with node bot.js. A TypeScript project usually needs a build step before running its compiled entry point, for example node dist/bot.js. Keep build-time tools available during compilation, then install or retain the runtime dependencies your application needs.
Separate configuration from your source code
Read DISCORD_TOKEN, TELEGRAM_BOT_TOKEN, and model provider keys from environment variables. Keep local .env files out of source archives and repositories. Select a Node.js runtime supported by your bot library rather than assuming your local version matches deployment.
Expose a container port only if your bot also serves an HTTP endpoint or dashboard. A worker that connects to a chat platform outbound can run without a web UI. If you do expose a server, listen on the configured interface and port rather than localhost only.
Keep one clear production process
Use your production start script, rather than a file-watching development command. JustRunMy.App provides container auto-restart; your application should still report fatal errors clearly and handle recoverable failures with bounded retries.
Watch caches and pending promises during bursts of activity. Save durable settings outside process memory, and avoid launching duplicate workers that both handle the same work. Keep the image and disk usage small by excluding local node_modules from uploaded source and installing for the target environment.
Deployment checklist
Prepare the start and build scripts
Confirm your production command locally. For TypeScript, verify that compilation produces the entry file the command runs.
Deploy the project
Include package.json and lockfiles with your Zip or Git deployment, or package the application in a Docker image.
Add runtime configuration
Set bot tokens, select a compatible Node.js runtime, and expose an HTTP port only if your application needs one.
Exercise the deployed bot
Run a command through the chat platform and check logs for missing modules, failed authentication, and resource pressure.
Example resource allocations
Monthly USD rates: $1.90 per vCPU, $1.95 per GB RAM, and $0.25 per GB disk. All allocated resources are billed per minute across applications, including idle allocations.
Include the Node.js process, library caches, and concurrent handlers in your estimate. Voice processing and browser automation need a different allocation from a small command bot.
| Example | vCPU | RAM (GB) | Disk | Monthly estimate |
|---|---|---|---|---|
| Minimal allocation example | 0.15 | 0.15 | 0 GB | $0.58 |
| Lightweight worker example | 0.25 | 0.25 | 0.3 GB | $1.04 |
| More memory for dependencies | 0.25 | 0.5 | 1 GB | $1.70 |
| Larger worker example | 0.5 | 1 | 1 GB | $3.15 |