Olivasal

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

WorkloadvCPURAMDiskBandwidth
1 live meeting, no recording24 GB20 GB50 Mbps sym
2 live meetings, no recording48 GB40 GB100 Mbps sym
1 meeting + recording48 GB100 GB+50 Mbps sym
2 meetings + recording6–812 GB200 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 vhost meet.<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 with BRANDING_UPLOADS_DIR.
  • Use Certbot for SSL on both vhosts. Don’t hand-edit nginx files — Certbot manages them.

Next steps

  • Tune your Recording settings.
  • Read Branding to white-label the app for your workspace.