Skip to content

Repository files navigation

Meeboter

Meeboter

Deploy bots to Google Meet, Teams, and Zoom. Your servers, your data.


MIT License Contributors Stars


What it does

Meeboter joins video meetings as a bot participant, enabling:

- Chat: Send messages programmatically
- Recording: Capture audio/video to S3
- Events: Real-time participant tracking via webhooks
- Fast deployment: Bot pool system: ~30s vs 7+ min cold start

Supports: Google Meet, Microsoft Teams, and Zoom (chat, recording, participant tracking)


Quick Start

git clone https://github.com/Payme-Works/meeboter.git
cd meeboter
bun install
docker compose up -d
cp apps/milo/.env.example apps/milo/.env
bun turbo db:migrate --filter=@meeboter/milo
bun turbo dev --filter=@meeboter/milo

Open localhost:3000


Usage

Dashboard

For manual operations, testing, and monitoring:

  1. Open the web UI at localhost:3000
  2. Navigate to BotsNew Bot
  3. Paste meeting URL, configure options
  4. Click Deploy
  5. Monitor status, logs, and events in real-time

API

For programmatic automation and product integrations:

# Create a bot
POST /bots
{"meetingUrl": "https://meet.google.com/xxx"}

# Deploy it
POST /bots/{id}/deploy

# Send chat message
POST /chat/messages
{"botId": 123, "message": "Hello!"}

# Get events
GET /events/bot/{botId}

OpenAPI docs →


Deployment

Platform Model Cost Best For
Coolify Pool-based ~$50-90/mo Self-hosted, predictable workloads
Kubernetes Pod-based ~$60-200/mo Existing K8s, multi-cloud
AWS ECS Task-based ~$80-500/mo Auto-scaling, pay-per-use

See docs/DEPLOYMENT.md for setup guides and ARCHITECTURE.md for detailed cost analysis.


Architecture

Your App → Meeboter API → Platform Service → Meeting Platforms
                ↓               ↓
           PostgreSQL    S3 (recordings)

Tech Stack:

- API: Next.js 15, tRPC, Drizzle ORM
- Bots: Playwright (Meet), Puppeteer (Teams/Zoom), FFmpeg
- Database: PostgreSQL 15
- Storage: S3-compatible (MinIO, AWS S3)
- Runtime: Bun + Alpine Linux (ARM64/x86)

Multi-Platform Deployment:

Platform Model Deploy Time Cost Model
Coolify Pool-based ~30s Fixed server
Kubernetes Pod-based ~30-60s Fixed cluster
AWS ECS Task-based ~60-90s Pay-per-use

Hybrid Mode — Automatic failover across platforms with PLATFORM_PRIORITY configuration.

Reference Architecture: Proxmox + Coolify + AWS
+-------------------------------------------------------------------------+
|                      PROXMOX HOST (bare-metal)                          |
|                                                                         |
|  +-----------------------------+                                        |
|  |     CT 100: Coolify         |                                        |
|  |                             |                                        |
|  |  +-----------------------+  |     +--------------------------------+ |
|  |  | Milo API (Next.js)    |--+---->|        AWS ECS Cluster         | |
|  |  | Port 3000             |  |     |                                | |
|  |  +-----------+-----------+  |     |  +------+ +------+ +------+    | |
|  |              |              |     |  |Task A| |Task B| |Task C|    | |
|  |  +-----------+-----------+  |     |  | Done | | Done | | Run  |    | |
|  |  | PostgreSQL | MinIO    |  |     |  +------+ +------+ +------+    | |
|  |  +-----------------------+  |     |                                | |
|  |                             |     |  Fargate Spot (90%) + ARM64    | |
|  |  +-----------------------+  |     |  0.5 vCPU / 2 GB per task      | |
|  |  | Bot Pool (20 slots)   |  |     |  Up to 100 concurrent bots     | |
|  |  | ~30s deploy time      |  |     +--------------------------------+ |
|  |  +-----------------------+  |                                        |
|  +-----------------------------+                                        |
+-------------------------------------------------------------------------+

Cost Breakdown: - Proxmox server (Hetzner AX52): ~$80/mo
- AWS ECS (500 bots/day, 45 min avg): ~$100/mo
- Total: ~$180/mo for hybrid setup with overflow capacity


Project Structure

meeboter/
├── apps/
│   ├── milo/                    # API server (Next.js + tRPC)
│   │   ├── src/server/api/      # tRPC routers and services
│   │   └── drizzle/             # Database migrations
│   └── bots/                    # Bot engine
│       └── providers/
│           ├── Dockerfile       # Shared base image
│           ├── google-meet/     # Playwright-based
│           ├── microsoft-teams/ # Puppeteer-based
│           └── zoom/            # Puppeteer-based
├── terraform/
│   └── bots/                    # AWS ECS Fargate infrastructure
├── packages/                    # Shared packages
└── docs/                        # Documentation

Documentation

- ARCHITECTURE.md: System design and cost analysis
- docs/DEPLOYMENT.md: Platform deployment guides
- apps/milo/README.md: API server documentation
- apps/bots/ARCHITECTURE.md: Bot engine and AWS infrastructure
- API Docs: OpenAPI/Scalar (when running)


Contributing

bun install
bun turbo dev --filter=@meeboter/milo
bun run lint
bun run typecheck
bun run test

License

MIT — use it however you want.



Built with Next.js, tRPC, Playwright, and shadcn/ui

About

Deploy bots to Google Meet, Microsoft Teams, and Zoom to interact with meetings in real-time while keeping your data private and costs low

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages