Overview
Attendee is designed for convenient self-hosting. It runs as a Django application in a single Docker image, with only two external service dependencies:- PostgreSQL - Database for application data
- Redis - Message broker for background tasks
By self-hosting Attendee, you can reduce costs by 10x compared to closed-source vendors.
System Requirements
Hardware Requirements
- CPU: 2+ cores recommended
- Memory: 4GB RAM minimum, 8GB+ recommended
- Storage: 20GB+ for Docker images and data
- Platform: Linux (Ubuntu 22.04 recommended)
Software Prerequisites
Install Docker
Docker is required to run Attendee. Install Docker Engine following the official installation guide.Verify your installation:
Install Docker Compose
Docker Compose is used to orchestrate the multi-container setup.
Modern Docker installations include Compose V2 by default.
Required Services
PostgreSQL
Attendee requires PostgreSQL 15.3 or higher. You can use:- The included PostgreSQL container (recommended for development)
- An external PostgreSQL instance
- A managed PostgreSQL service (AWS RDS, Google Cloud SQL, etc.)
Redis
Redis 7+ is used as a message broker for Celery workers. You can use:- The included Redis container (recommended for development)
- An external Redis instance
- A managed Redis service
External Service Accounts
Before running Attendee, you’ll need to set up accounts with the following services:AWS Account (Required)
AWS S3 is used for storing meeting recordings and media files.
- Create an AWS account
- Set up an S3 bucket for media storage
- Create IAM credentials with S3 access
- Note your
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY
Zoom OAuth Credentials (Required for Zoom)
Required to join Zoom meetings with your bot.
- Navigate to Zoom Marketplace
- Register or log into your developer account
- Click “Develop” → “Build App” → Choose “General App”
- Copy the Client ID and Client Secret from ‘App Credentials’
- Go to the Embed tab → Enable Meeting SDK toggle
Deepgram API Key (Required for Transcription)
Deepgram provides speech-to-text transcription for meetings.
- Sign up at Deepgram Console
- No credit card required - includes 400 hours of free transcription
- Create an API key from the dashboard
Alternative transcription providers may be supported in future versions.
Running in Development Mode
For local development and testing, follow these steps:Configure AWS Credentials
Edit the generated Add your AWS information:
.env file and add your AWS credentials:Start All Services
Launch Attendee and all supporting services:This starts:
attendee-app-local- Django web server (port 8000)attendee-worker-local- Celery worker for background tasksattendee-scheduler-local- Task schedulerpostgres- PostgreSQL databaseredis- Redis message broker
Create Your Account
- Open your browser to
http://localhost:8000 - Click “Sign Up” and create an account
- Look for the confirmation link in the server logs:
- Paste the confirmation link into your browser
- Log in with your credentials
In development mode, direct all API calls to
http://localhost:8000 instead of https://app.attendee.dev.Webpage Streamer (Optional)
For advanced use cases involving streaming arbitrary web content into meetings:Next Steps
Configuration
Learn about environment variables and advanced configuration options
Deployment
Deploy Attendee to production with Docker or Kubernetes