Setup
-
Add a DNS record pointing
call.<domain>to the server:- A record:
call→<ipv4> - AAAA record:
call→<ipv6>
- A record:
-
In Coolify, go to New Resource → Service, search for Jitsi, set the domain, then deploy. Works with nothing else configured.
Requiring authentication to create a room
By default (ENABLE_AUTH=0), anyone with the link can start a new room — only joining an already-created one can be password-protected, not creating one in the first place. To lock room creation down to an actual account:
- Set
ENABLE_AUTH=1on all three ofjitsi-web,prosody, andjicofo—AUTH_TYPE=internalis already set onprosody/jicofo, using Prosody's own built-in user database rather than an external provider. - Leave
ENABLE_GUESTS=1as it already is onjitsi-web/prosodyif people without an account should still be able to join a room a moderator already started — set it to0on both instead if unauthenticated joins shouldn't be allowed either, not just unauthenticated room creation. - Redeploy, then create at least one moderator account — env vars don't create Prosody users,
prosodyctldoes. Open theprosodycontainer's own Terminal in Coolify and run:Two real gotchas here, confirmed against an actual deploy:prosodyctl --config /config/prosody.cfg.lua register <username> meet.jitsi <password>prosodyctlon its own fails with "unable to find the configuration file" — the image generates it at/config/prosody.cfg.lua(matching thejitsi-prosody:/configvolume in the compose file), not the default pathprosodyctllooks for, so--confighas to be explicit and point there.<username>is a JID node, not an email — using one with an@in it fails with "The given username is invalid in a Jabber ID." Keep it plain: letters, numbers,-/_/.only.
- Log in as that user when starting a new room — Jitsi Meet shows a login prompt instead of one-click room creation once
ENABLE_AUTH=1is live.