Next Steps¶
Your Meet instance is running. This page walks through the recommended post-installation steps to make it production-ready.
1. Test a meeting end-to-end¶
Before doing anything else, verify the basics work:
- Open
https://meet.example.comand log in - Create a meeting and share the link with another browser tab or device
- Confirm audio and video work in both directions
- Join and leave the meeting
If audio or video is missing, see Troubleshooting.
2. Configure email notifications¶
Email is required for recording download notifications. Without it, users never receive their recording link after a meeting ends.
Add to your .env:
DJANGO_EMAIL_HOST=smtp.example.com
DJANGO_EMAIL_PORT=587
DJANGO_EMAIL_HOST_USER=meet@example.com
DJANGO_EMAIL_HOST_PASSWORD=<password>
DJANGO_EMAIL_USE_TLS=True
DJANGO_EMAIL_FROM=meet@example.com
Then recreate the backend and celery containers:
If
docker compose upfails with "invalid USER value", see Troubleshooting.
3. Enable recording¶
Recording requires LiveKit Egress and MinIO (or another S3-compatible storage). See the full setup guide:
- Recording
- AI Transcription - optional, requires recording
4. Configure TURN for better connectivity¶
By default, participants on restrictive networks (corporate firewalls, hotels, VPNs) may not be able to connect. TURN routes media through port 443/UDP, which is allowed on virtually every network.
5. Review security settings¶
- Rotate all secrets if you used placeholder values
- Set
ALLOW_UNREGISTERED_ROOMS=Falseif you want to require authentication for all rooms. The default isTrue(anonymous users can create and join rooms). - Consider restricting the Keycloak admin console to internal access only
-
Keep LiveKit API secret 32+ characters - treat it like a database password
6. Pin image versions¶
By default, compose.yml uses :latest images. In production, pin to specific versions to avoid unexpected upgrades:
Check the changelog for the latest stable version.
7. Set up database backups¶
Automate regular PostgreSQL backups before you start using the instance in production:
Store backups off-server. Test restoration before relying on them.