Installation
Hardware sizing, services to run, and deployment steps for self-hosting Olivasal.
Olivasal is designed to run on your own infrastructure — a single VPS for small teams, or a dedicated box with a GPU once you turn on AI recap.
Hardware sizing
| Workload | vCPU | RAM | Disk | Bandwidth |
|---|---|---|---|---|
| 1 live meeting, no recording | 2 | 4 GB | 20 GB | 50 Mbps sym |
| 2 live meetings, no recording | 4 | 8 GB | 40 GB | 100 Mbps sym |
| 1 meeting + recording | 4 | 8 GB | 100 GB+ | 50 Mbps sym |
| 2 meetings + recording | 6–8 | 12 GB | 200 GB+ | 100 Mbps sym |
For on-box AI recap with the default gemma3:27b model, add a 24 GB GPU (RTX 3090 / 4090 / A5000) and 32 GB system RAM. Smaller models (llama-3.1-8b) run on 8 GB GPUs.
Services
- Media SFU — WebRTC media routing. Default port 7880, exposed via nginx as a dedicated subdomain (e.g.
media.<your-domain>). - MongoDB (27017) — persistent state.
- Redis (6379) — recording job queue.
- Ollama (11434) — AI summaries. Optional.
Default ports
- Web app:
:4000→ nginx vhostmeet.<your-domain> - API:
:3050→ nginx/api/on the same vhost - Media SFU:
:7880,:7881,:7882/udp→ nginx vhost on a dedicated subdomain
Deployment notes
- Recordings are stored at
/var/lib/olivasal/recordings/<roomId>/<sessionId>/. - Workspace logos at
<project-root>/uploads/branding/<workspaceId>.<ext>by default; override withBRANDING_UPLOADS_DIR. - Use Certbot for SSL on both vhosts. Don’t hand-edit nginx files — Certbot manages them.