Skip to main content

Installation

This guide will help you set up MeetBot for local development or production deployment.

Prerequisites

  • Docker and Docker Compose (v2.0+)
  • Node.js 18+ and pnpm (for frontend development)
  • Python 3.11+ (for backend development)

Quick Start with Docker

The fastest way to get MeetBot running locally:

# Clone the repository
git clone https://github.com/syntrigen/meetbot.git
cd meetbot

# Start all services
docker-compose up -d

# Check status
docker-compose ps

This starts:

  • PostgreSQL - Database (port 5432)
  • MinIO - S3-compatible storage (port 9000, console: 9001)
  • FastAPI Server - API backend (port 8000)

Service URLs

ServiceURLDescription
API Serverhttp://localhost:8000FastAPI backend
API Docshttp://localhost:8000/docsSwagger UI
MinIO Consolehttp://localhost:9001Storage admin
Web Apphttp://localhost:3000Dashboard

Environment Configuration

Create a .env file in the project root:

# Database
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/meetbot

# Storage (MinIO)
AWS_ACCESS_KEY_ID=minioadmin
AWS_SECRET_ACCESS_KEY=minioadmin
AWS_BUCKET_NAME=meetbot-recordings
S3_ENDPOINT=http://localhost:9000

# JWT Secret (generate a secure random string)
JWT_SECRET_KEY=your-secret-key-here

# OAuth (optional)
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

Development Setup

Frontend (Web App)

# Install dependencies
pnpm install

# Start development server
pnpm dev

The web app will be available at http://localhost:3000.

Backend (FastAPI)

If you want to run the backend outside Docker:

cd apps/server

# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

# Run migrations
alembic upgrade head

# Start server
uvicorn app.main:app --reload --port 8000

Building Bot Images

MeetBot uses Docker containers for meeting bots. Build them with:

# Build all bot images
make build-bots

# Or build individually
make build-bot-meet # Google Meet bot
make build-bot-zoom # Zoom bot
make build-bot-teams # Microsoft Teams bot

Verify Installation

  1. Open http://localhost:8000/docs to see the API documentation
  2. Create a user account via the API or web app
  3. Generate an API key
  4. Create and deploy a test bot
# Test the API
curl http://localhost:8000/api/v1/health

Troubleshooting

Docker Issues

# Reset everything
docker-compose down -v
docker-compose up -d --build

Database Issues

# Connect to database
docker-compose exec postgres psql -U postgres -d meetbot

# Run migrations manually
docker-compose exec server alembic upgrade head

Port Conflicts

If ports are already in use, modify docker-compose.yml:

services:
server:
ports:
- "8001:8000" # Change external port

Next Steps