Menu

How we gave every booking its own branded video room with self-hosted Jitsi
📰

How we gave every booking its own branded video room with self-hosted Jitsi

DEV Community: docker·Read It·3 days ago
#NaAaZFNa
#devtodocker#devto#dev#jitsi#booking
Reading 0:00
15s threshold

When we started Meetario, a scheduling app for people who get paid per session, every booking needed a video link. Asking users to pay for Zoom on top of their booking tool felt wrong, so we self-hosted Jitsi Meet and made it look and behave like part of our product.

Here's what that took.

1. One room per booking, protected by JWT

Jitsi rooms are public by default: anyone with the URL can join. We enabled JWT authentication on Prosody and disabled guest access. When someone opens their meeting link, our backend checks who they are (the host via their session, the attendee via a signed URL from the confirmation email) and redirects them to the Jitsi room with a short-lived token:

room: the booking's room name

context.user: email and display name from the booking

features.moderator: true for the host only

The display name is pre-filled from the booking, so attendees never type it again.

2. Branding without forking jitsi-meet

We didn't want to maintain a fork of the frontend.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.