Deploy Jitsi Meet | (Just Updated) Self-Hosted Video Calls, Users via Env Var
Self-hosted video calls. Add users by setting one env var, no admin login
Just deployed
/config
prosody
Just deployed
/config
Just deployed
/config
Just deployed
/config
Deploy and Host Jitsi Meet on Railway
Jitsi Meet is a free, open-source video conferencing platform — no per-seat licence, no call-time limit, no account required for guests. This template deploys the full stack (web, Prosody XMPP, Jicofo, JVB) with authentication switched on, so only users you register can start a meeting.
About Hosting Jitsi Meet
Jitsi Meet normally needs four coordinated services talking to each other over internal XMPP: a web frontend, an XMPP server (Prosody), a conference focus component (Jicofo), and a media relay (JVB). This template wires all four together on Railway's private network and gives you one public URL for the web frontend.
Why Deploy Jitsi Meet on Railway
- Users are created from a single environment variable. Set
PROSODY_USERStouser1:pass1,user2:pass2and redeploy — Prosody registers (or re-registers) every account on boot. No admin console, no CLI login required to add a colleague. - Authentication is on by default. Only registered users can start a meeting; anyone with the link can join as a guest once a meeting is live.
- No recurring per-seat fee. Jitsi Meet is Apache-2.0 licensed. You pay for compute, not for logins.
- Private internal networking. Prosody, Jicofo and JVB talk to each other over Railway's private network — only the web frontend is public.
Common Use Cases
- Internal team video calls without a Zoom/Meet seat-based bill
- Client-facing video calls behind your own domain
- A self-hosted fallback conferencing tool for a small team or community
Known limitation: UDP media relay
JVB's normal media path uses UDP port 10000. Railway's public networking is TCP-only, so JVB falls back to its TCP harvester for participants that cannot reach it directly. Call quality is unaffected for most networks; a small minority of very restrictive NATs may see reduced quality without a TURN server in front of it.
Dependencies for This Setup
Deployment Dependencies
- Jitsi Meet (
jitsi/web,jitsi/prosody,jitsi/jicofo,jitsi/jvb) — Apache-2.0
Template Content
TZ
JVB_PORT
JVB_AUTH_USER
JVB_BREWERY_MUC
XMPP_AUTH_DOMAIN
XMPP_INTERNAL_MUC_DOMAIN
JVB_TCP_HARVESTER_DISABLED
prosody
jitsi/prosody:stable-11031TZ
AUTH_TYPE
ENABLE_AUTH
XMPP_DOMAIN
ENABLE_GUESTS
JVB_AUTH_USER
XMPP_MUC_DOMAIN
JICOFO_AUTH_USER
XMPP_AUTH_DOMAIN
XMPP_GUEST_DOMAIN
XMPP_RECORDER_DOMAIN
XMPP_INTERNAL_MUC_DOMAIN
TZ
AUTH_TYPE
ENABLE_AUTH
XMPP_DOMAIN
DISABLE_HTTPS
ENABLE_GUESTS
JVB_AUTH_USER
XMPP_MUC_DOMAIN
JICOFO_AUTH_USER
XMPP_AUTH_DOMAIN
XMPP_GUEST_DOMAIN
ENABLE_LETSENCRYPT
ENABLE_HTTP_REDIRECT
XMPP_RECORDER_DOMAIN
ENABLE_XMPP_WEBSOCKET
ENABLE_COLIBRI_WEBSOCKET
TZ
AUTH_TYPE
ENABLE_AUTH
XMPP_DOMAIN
JVB_BREWERY_MUC
XMPP_MUC_DOMAIN
JICOFO_AUTH_USER
XMPP_AUTH_DOMAIN
XMPP_INTERNAL_MUC_DOMAIN
