Documentation

Everything you need to deploy your first bot and manage it in production.

Quick Start

Get your bot running on BotDockr in 3 steps.

1

1. Create an account

Sign up at botdockr.com. No credit card required.

2

2. Connect your GitHub repository

Authorize BotDockr to access your GitHub account, then select the repository that contains your bot code.

3

3. Deploy

Click Deploy. BotDockr detects your language, installs dependencies, builds a container, and starts your bot. Done.


Connect GitHub

BotDockr uses GitHub as the source for your bot code. When you connect a repository, we set up a webhook so that every push to your main branch triggers a new deployment.

You can connect as many repositories as your plan allows. Each repository corresponds to one bot deployment.

Permissions required

BotDockr requests read access to your repository contents. We never write to your repo or access other repositories you haven't selected.

Branch configuration

By default, BotDockr deploys from the main branch. You can change the deploy branch from the bot settings in your dashboard.


Project Structure

BotDockr automatically detects your project type based on the files in your repository root:

Node.js β€” detected by package.json

We run npm install (or yarn install if yarn.lock is present) and then execute the start script defined in your package.json.

Python β€” detected by requirements.txt

We run pip install -r requirements.txt and then execute python main.py (or the entry point you configure in the dashboard).

Make sure your bot's entry point is clearly defined. For Node.js, set the "start" script in package.json. For Python, name your entry file main.py or configure it in the dashboard.

Deploy Your Bot

Deployments happen automatically on every push to your deploy branch. You can also trigger a manual deployment from the dashboard.

Deployment process

1
Code is pulled from your GitHub repository
2
Language and dependencies are detected
3
Dependencies are installed in a fresh container
4
Your bot process is started
5
Health check confirms the bot is running
$ git push origin main
> BotDockr: Build started...
> Installing dependencies...
> Building container...
> Health check passed βœ“
> Bot is live!
If a deployment fails, BotDockr keeps your previous version running. You can see deployment history and logs in the dashboard.

Zero-downtime deploys

When a new deployment succeeds, traffic switches to the new container and the old one is gracefully shut down. Your bot has zero downtime between deployments.


Environment Variables

Store API keys, bot tokens, database URLs, and any secrets your bot needs. Environment variables are set through the dashboard and injected into your container at runtime.

Security

All environment variables are encrypted at rest using AES-256. They are never exposed in logs, build output, or the GitHub webhook payload.

How to add variables

1
Go to your bot's settings in the dashboard
2
Navigate to the Environment tab
3
Add key-value pairs
4
Click Save β€” your bot restarts with the new variables
BOT_TOKEN=your-telegram-bot-token
API_KEY=sk-your-api-key
DATABASE_URL=postgres://user:pass@host/db

Reserved variables

BotDockr sets the following variables automatically: PORT (the port your bot should listen on, if applicable), NODE_ENV (set to production for Node.js projects).


Live Logs

Stream your bot's stdout and stderr output in real time from the dashboard. No SSH, no external tools.

Real-time streaming with auto-scroll
Search and filter by keyword
Timestamp on every line
Download log history as a file
14:23:01Connected to Telegram API
14:23:02Listening for updates...
14:23:15Message received from @user
14:23:15Reply sent successfully

Log retention

Starter plans retain logs for 7 days. Pro plans retain for 30 days. Scale plans have unlimited retention.


Auto-Restarts

If your bot process crashes or exits unexpectedly, BotDockr restarts it automatically within seconds.

How it works

BotDockr monitors your container's main process. If it exits with a non-zero code, we restart it immediately. If it crashes repeatedly (more than 5 times in 2 minutes), we pause restarts and notify you.

Process exited (code 1)14:23:45
Auto-restarted (0.8s)14:23:46
Bot running normally14:23:46

You receive crash notifications via email. Dashboard shows a timeline of crash and restart events.


Supported Languages

BotDockr currently supports two runtimes with automatic detection:

Node.js

Latest LTS version (currently Node.js 20)

Detected by: package.json in the root directory

Start command: npm start (or the start script in package.json)

Python

Python 3.11+

Detected by: requirements.txt in the root directory

Start command: python main.py (configurable)

More runtimes coming soon. If you need a specific language, contact us at support@botdockr.com.

Plans & Limits

Every plan includes automatic deployments, crash recovery, live logs, and environment variables. Plans differ in the number of bots and resource allocation.

Starter β€” $7/mo

1 bot, shared resources, 7-day log retention, community support.

Pro β€” $19/mo

5 bots, priority build queue, 30-day log retention, priority support, custom domains.

Scale β€” $49/mo

20 bots, dedicated resources, unlimited log retention, dedicated support, custom domains, team members.

You can upgrade or downgrade at any time from the dashboard. Changes take effect on your next billing cycle.