Independence 2-07 / Essay
Independence 2-07 № 07 · 2026

Meetings and booking,
on your own domain.

Teams meetings, Calendly booking, and webinars for classes — on your own domain

Meetings and booking are generic functions. Teams calls, Calendly scheduling, Microsoft Bookings for course reservations — all of it is already shared as OSS. Here we stand up three and place them on your own domain.

Stand up Jitsi Meet

For small-to-mid meetings, Jitsi Meet. Participants need only a browser — no app install, no account. Send a link and the meeting starts.

# use the official compose bundle
git clone https://github.com/jitsi/docker-jitsi-meet
cd docker-jitsi-meet && cp env.example .env && ./gen-passwords.sh
docker compose up -d        # web, prosody, jicofo, jvb come up

Hand out meet.example.com with your own logo and domain. Recording, chat, and screen sharing all come standard.

Large meetings (hundreds) are handled by adding video bridges (JVB). That is "adding" more than "standing up" — lining up servers to match scale.

Classes — BigBlueButton

Where you need a whiteboard, raise-hand, breakout rooms, and attendance — seminars and lessons — use BigBlueButton. A webinar platform built for education, the tool for the "courses" mentioned back in 2-02.

BigBlueButton has its own installer and is heavier than Jitsi. Day-to-day meetings on Jitsi, classes on BigBlueButton — stand each up for its purpose.

Booking — Cal.com

Scheduling and course booking are Cal.com, a replacement for Calendly and Microsoft Bookings, with data on the PostgreSQL from 2-02.

# compose.yaml — stand up booking on the 2-02 DB
services:
  booking:
    image: calcom/cal.com:latest
    environment:
      DATABASE_URL: postgres://postgres:change-me@db:5432/calcom
      NEXT_PUBLIC_WEBAPP_URL: https://book.example.com
    restart: always

When a booking lands, the 2-06 mail sends a confirmation and a day-before reminder, with the Jitsi meeting link attached automatically. On top of the foundation (DB), gate (auth), and mail, booking just sits — what was laid first pays off here.

Calendar and the gate

Schedule sync is CalDAV (stand up a lightweight Radicale), connecting to Thunderbird and the stock phone calendar. Cal.com and each app sit behind the 2-03 gate, beyond the reverse proxy.

meet.example.com { reverse_proxy jitsi-web:80 }
book.example.com { reverse_proxy booking:3000 }

Migration means future events only

Migrating off Teams or Google Calendar needs no project. Meeting links are disposable — there is nothing to carry over. For the calendar, export future events only as .ics and load them into Radicale — a one-time operation. Whatever in the old recordings and chats is worth keeping gets triaged in the 2-10 information-preparation pass and filed into the 2-05 store.

Summary

Meetings and booking, on your own domain.

By now the foundation, gate, documents, code, mail, meetings, and booking are in place. Next, we build the website that shows these to the outside.


Related articles