# Jeffsi Meet - Environment Configuration Example # Copy this to .env on the server and update values as needed # Location on server: /opt/jeffsi-meet/.env # ========================================== # Core Configuration # ========================================== # Directory where all configuration will be stored CONFIG=/opt/jeffsi-meet/config # System time zone TZ=Europe/Berlin # Public URL for the web service PUBLIC_URL=https://meet.jeffemmett.com # JVB Network Configuration # IMPORTANT: Set this to your server's public IP JVB_ADVERTISE_IPS=YOUR_SERVER_PUBLIC_IP # Authentication ENABLE_AUTH=0 ENABLE_GUESTS=1 AUTH_TYPE=internal # Memory limits JICOFO_MAX_MEMORY=1024m VIDEOBRIDGE_MAX_MEMORY=3072m # Container restart policy RESTART_POLICY=unless-stopped # Jitsi image version - use stable for production JITSI_IMAGE_VERSION=stable # Recording (requires Jibri) ENABLE_RECORDING=1 # JVB Ports (ensure these are open in firewall) JVB_PORT=10101 JVB_COLIBRI_PORT=8085 JICOFO_REST_PORT=8889 # ========================================== # Security Passwords - MUST BE GENERATED # Run: ./gen-passwords.sh # ========================================== JICOFO_AUTH_PASSWORD=GENERATE_SECURE_PASSWORD JVB_AUTH_USER=jvb JVB_AUTH_PASSWORD=GENERATE_SECURE_PASSWORD JIGASI_XMPP_PASSWORD=GENERATE_SECURE_PASSWORD JIGASI_TRANSCRIBER_PASSWORD=GENERATE_SECURE_PASSWORD JIBRI_RECORDER_PASSWORD=GENERATE_SECURE_PASSWORD JIBRI_XMPP_PASSWORD=GENERATE_SECURE_PASSWORD # ========================================== # STUN/TURN Configuration (for NAT traversal) # ========================================== # Use coturn for TURN relay TURN_HOST=YOUR_SERVER_PUBLIC_IP TURN_PORT=3478 TURNS_PORT=5349 TURN_TRANSPORT=udp STUN_HOST=YOUR_SERVER_PUBLIC_IP STUN_PORT=3478 # TURN credentials (must match coturn config) TURN_USERNAME=turnuser TURN_PASSWORD=YOUR_TURN_SECRET TURN_CREDENTIALS=YOUR_TURN_SECRET TURN_TTL=86400 # P2P STUN servers (comma-separated) P2P_STUN_SERVERS=stun:YOUR_SERVER_PUBLIC_IP:3478,stun:stun.l.google.com:19302 # JVB STUN servers JVB_STUN_SERVERS=YOUR_SERVER_PUBLIC_IP:3478,stun.l.google.com:19302 # ========================================== # Video Quality Bitrates (in bps) # Higher values = better quality but more bandwidth # ========================================== # VP8 Bitrates (good compatibility) VIDEOQUALITY_BITRATE_VP8_LOW=200000 VIDEOQUALITY_BITRATE_VP8_STANDARD=700000 VIDEOQUALITY_BITRATE_VP8_HIGH=2000000 VIDEOQUALITY_BITRATE_VP8_FULL=4000000 VIDEOQUALITY_BITRATE_VP8_ULTRA=6000000 VIDEOQUALITY_BITRATE_VP8_SS_HIGH=3500000 # VP9 Bitrates (best quality/bandwidth ratio - RECOMMENDED) VIDEOQUALITY_BITRATE_VP9_LOW=150000 VIDEOQUALITY_BITRATE_VP9_STANDARD=500000 VIDEOQUALITY_BITRATE_VP9_HIGH=1500000 VIDEOQUALITY_BITRATE_VP9_FULL=3000000 VIDEOQUALITY_BITRATE_VP9_ULTRA=4500000 VIDEOQUALITY_BITRATE_VP9_SS_HIGH=2500000 # H264 Bitrates (good for mobile) VIDEOQUALITY_BITRATE_H264_LOW=200000 VIDEOQUALITY_BITRATE_H264_STANDARD=700000 VIDEOQUALITY_BITRATE_H264_HIGH=2000000 VIDEOQUALITY_BITRATE_H264_FULL=4000000 VIDEOQUALITY_BITRATE_H264_ULTRA=6000000 VIDEOQUALITY_BITRATE_H264_SS_HIGH=3500000 # AV1 Bitrates (most efficient, newer codec) VIDEOQUALITY_BITRATE_AV1_LOW=100000 VIDEOQUALITY_BITRATE_AV1_STANDARD=400000 VIDEOQUALITY_BITRATE_AV1_HIGH=1200000 VIDEOQUALITY_BITRATE_AV1_FULL=2500000 VIDEOQUALITY_BITRATE_AV1_ULTRA=4000000 VIDEOQUALITY_BITRATE_AV1_SS_HIGH=2000000 # Preferred codec (VP9 recommended for quality/bandwidth) VIDEOQUALITY_PREFERRED_CODEC=VP9 # Resolution settings RESOLUTION=720 RESOLUTION_MIN=180 RESOLUTION_WIDTH=1280 RESOLUTION_WIDTH_MIN=320 # Simulcast (multiple quality layers for adaptive streaming) ENABLE_SIMULCAST=true ENABLE_REMB=true ENABLE_TCC=true # ========================================== # Firewall Rules Required # ========================================== # Ensure these ports are open: # - JVB_PORT/udp (default 10101) - Media traffic # - 3478/udp,tcp - STUN/TURN # - 5349/udp,tcp - TURN TLS # - 49152-49200/udp - TURN relay ports # - 80/tcp, 443/tcp - Web traffic (if not using reverse proxy)