diff --git a/public/v2/apps/jitsi.json b/public/v2/apps/jitsi.json new file mode 100644 index 0000000..dae1dc6 --- /dev/null +++ b/public/v2/apps/jitsi.json @@ -0,0 +1,255 @@ +{ + "captainVersion": "2", + "documentation": "https://github.com/jitsi/docker-jitsi-meet", + "displayName": "Jitsi", + "description": "Free open-source video conferencing for web & mobile", + "dockerCompose": { + "version": "3", + "services": { + "$$cap_appname-web": { + "image": "jitsi/web:$$cap_tag_version", + "restart": "unless-stopped", + "ports": ["$$cap_https_port:443", "$$cap_http_port:80"], + "volumes": [ + "$$cap_appname-web:/config", + "$$cap_appname-web-transcripts:/usr/share/jitsi-meet/transcripts" + ], + "environment": { + "JICOFO_COMPONENT_SECRET": "$$cap_password", + "JICOFO_AUTH_PASSWORD": "$$cap_password", + "JVB_AUTH_PASSWORD": "$$cap_password", + "JIGASI_XMPP_PASSWORD": "$$cap_password", + "JIBRI_RECORDER_PASSWORD": "$$cap_password", + "JIBRI_XMPP_PASSWORD": "$$cap_password", + "HTTP_PORT": "$$cap_http_port", + "HTTPS_PORT": "$$cap_https_port", + "TZ": "$$cap_timezone", + "XMPP_DOMAIN": "meet.jitsi", + "XMPP_SERVER": "srv-captain--$$cap_appname-prosody", + "XMPP_BOSH_URL_BASE": "http://srv-captain--$$cap_appname-prosody:5280", + "XMPP_AUTH_DOMAIN": "auth.meet.jitsi", + "XMPP_MUC_DOMAIN": "muc.meet.jitsi", + "XMPP_INTERNAL_MUC_DOMAIN": "internal-muc.meet.jitsi", + "XMPP_GUEST_DOMAIN": "guest.meet.jitsi", + "XMPP_MODULES": "", + "XMPP_MUC_MODULES": "", + "XMPP_INTERNAL_MUC_MODULES": "", + "JVB_BREWERY_MUC": "jvbbrewery", + "JVB_AUTH_USER": "jvb", + "JVB_STUN_SERVERS": "meet-jit-si-turnrelay.jitsi.net:443", + "JVB_PORT": "$$cap_jvb_udp", + "JVB_TCP_HARVESTER_DISABLED": "true", + "JVB_TCP_PORT": "$$cap_jvb_tcp", + "JICOFO_AUTH_USER": "focus", + "JIGASI_XMPP_USER": "jigasi", + "JIGASI_BREWERY_MUC": "jigasibrewery", + "JIGASI_PORT_MIN": "20000", + "JIGASI_PORT_MAX": "20050", + "XMPP_RECORDER_DOMAIN": "recorder.meet.jitsi", + "JIBRI_RECORDER_USER": "recorder", + "JIBRI_RECORDING_DIR": "/config/recordings", + "JIBRI_FINALIZE_RECORDING_SCRIPT_PATH": "/config/finalize.sh", + "JIBRI_XMPP_USER": "jibri", + "JIBRI_BREWERY_MUC": "jibribrewery", + "JIBRI_PENDING_TIMEOUT": "90", + "JIBRI_STRIP_DOMAIN_JID": "muc", + "JIBRI_LOGS_DIR": "/config/logs" + } + }, + "$$cap_appname-prosody": { + "image": "jitsi/prosody:$$cap_tag_version", + "notExposeAsWebApp": "true", + "restart": "unless-stopped", + "expose": ["5222", "5347","5280"], + "volumes": ["$$cap_appname-prosody:/config"], + "environment": { + "JICOFO_COMPONENT_SECRET": "$$cap_password", + "JICOFO_AUTH_PASSWORD": "$$cap_password", + "JVB_AUTH_PASSWORD": "$$cap_password", + "JIGASI_XMPP_PASSWORD": "$$cap_password", + "JIBRI_RECORDER_PASSWORD": "$$cap_password", + "JIBRI_XMPP_PASSWORD": "$$cap_password", + "HTTP_PORT": "$$cap_http_port", + "HTTPS_PORT": "$$cap_https_port", + "TZ": "$$cap_timezone", + "XMPP_DOMAIN": "meet.jitsi", + "XMPP_SERVER": "srv-captain--$$cap_appname-prosody", + "XMPP_BOSH_URL_BASE": "http://srv-captain--$$cap_appname-prosody:5280", + "XMPP_AUTH_DOMAIN": "auth.meet.jitsi", + "XMPP_MUC_DOMAIN": "muc.meet.jitsi", + "XMPP_INTERNAL_MUC_DOMAIN": "internal-muc.meet.jitsi", + "XMPP_GUEST_DOMAIN": "guest.meet.jitsi", + "XMPP_MODULES": "", + "XMPP_MUC_MODULES": "", + "XMPP_INTERNAL_MUC_MODULES": "", + "JVB_BREWERY_MUC": "jvbbrewery", + "JVB_AUTH_USER": "jvb", + "JVB_STUN_SERVERS": "meet-jit-si-turnrelay.jitsi.net:443", + "JVB_PORT": "$$cap_jvb_udp", + "JVB_TCP_HARVESTER_DISABLED": "true", + "JVB_TCP_PORT": "$$cap_jvb_tcp", + "JICOFO_AUTH_USER": "focus", + "JIGASI_XMPP_USER": "jigasi", + "JIGASI_BREWERY_MUC": "jigasibrewery", + "JIGASI_PORT_MIN": "20000", + "JIGASI_PORT_MAX": "20050", + "XMPP_RECORDER_DOMAIN": "recorder.meet.jitsi", + "JIBRI_RECORDER_USER": "recorder", + "JIBRI_RECORDING_DIR": "/config/recordings", + "JIBRI_FINALIZE_RECORDING_SCRIPT_PATH": "/config/finalize.sh", + "JIBRI_XMPP_USER": "jibri", + "JIBRI_BREWERY_MUC": "jibribrewery", + "JIBRI_PENDING_TIMEOUT": "90", + "JIBRI_STRIP_DOMAIN_JID": "muc", + "JIBRI_LOGS_DIR": "/config/logs" + } + }, + "$$cap_appname-jicofo": { + "image": "jitsi/jicofo:$$cap_tag_version", + "notExposeAsWebApp": "true", + "restart": "unless-stopped", + "volumes": ["$$cap_appname-jicofo:/config"], + "environment": { + "JICOFO_COMPONENT_SECRET": "$$cap_password", + "JICOFO_AUTH_PASSWORD": "$$cap_password", + "JVB_AUTH_PASSWORD": "$$cap_password", + "JIGASI_XMPP_PASSWORD": "$$cap_password", + "JIBRI_RECORDER_PASSWORD": "$$cap_password", + "JIBRI_XMPP_PASSWORD": "$$cap_password", + "HTTP_PORT": "$$cap_http_port", + "HTTPS_PORT": "$$cap_https_port", + "TZ": "$$cap_timezone", + "XMPP_DOMAIN": "meet.jitsi", + "XMPP_SERVER": "srv-captain--$$cap_appname-prosody", + "XMPP_BOSH_URL_BASE": "http://srv-captain--$$cap_appname-prosody:5280", + "XMPP_AUTH_DOMAIN": "auth.meet.jitsi", + "XMPP_MUC_DOMAIN": "muc.meet.jitsi", + "XMPP_INTERNAL_MUC_DOMAIN": "internal-muc.meet.jitsi", + "XMPP_GUEST_DOMAIN": "guest.meet.jitsi", + "XMPP_MODULES": "", + "XMPP_MUC_MODULES": "", + "XMPP_INTERNAL_MUC_MODULES": "", + "JVB_BREWERY_MUC": "jvbbrewery", + "JVB_AUTH_USER": "jvb", + "JVB_STUN_SERVERS": "meet-jit-si-turnrelay.jitsi.net:443", + "JVB_PORT": "$$cap_jvb_udp", + "JVB_TCP_HARVESTER_DISABLED": "true", + "JVB_TCP_PORT": "$$cap_jvb_tcp", + "JICOFO_AUTH_USER": "focus", + "JIGASI_XMPP_USER": "jigasi", + "JIGASI_BREWERY_MUC": "jigasibrewery", + "JIGASI_PORT_MIN": "20000", + "JIGASI_PORT_MAX": "20050", + "XMPP_RECORDER_DOMAIN": "recorder.meet.jitsi", + "JIBRI_RECORDER_USER": "recorder", + "JIBRI_RECORDING_DIR": "/config/recordings", + "JIBRI_FINALIZE_RECORDING_SCRIPT_PATH": "/config/finalize.sh", + "JIBRI_XMPP_USER": "jibri", + "JIBRI_BREWERY_MUC": "jibribrewery", + "JIBRI_PENDING_TIMEOUT": "90", + "JIBRI_STRIP_DOMAIN_JID": "muc", + "JIBRI_LOGS_DIR": "/config/logs" + }, + "depends_on": ["$$cap_appname-prosody"] + }, + "$$cap_appname-jvb": { + "image": "jitsi/jvb:$$cap_tag_version", + "notExposeAsWebApp": "true", + "restart": "unless-stopped", + "ports": ["$$cap_jvb_udp:$$cap_jvb_udp", "$$cap_jvb_tcp:$$cap_jvb_tcp"], + "volumes": ["$$cap_appname-jvb:/config"], + "environment": { + "JICOFO_COMPONENT_SECRET": "$$cap_password", + "JICOFO_AUTH_PASSWORD": "$$cap_password", + "JVB_AUTH_PASSWORD": "$$cap_password", + "JIGASI_XMPP_PASSWORD": "$$cap_password", + "JIBRI_RECORDER_PASSWORD": "$$cap_password", + "JIBRI_XMPP_PASSWORD": "$$cap_password", + "HTTP_PORT": "$$cap_http_port", + "HTTPS_PORT": "$$cap_https_port", + "TZ": "$$cap_timezone", + "XMPP_DOMAIN": "meet.jitsi", + "XMPP_SERVER": "srv-captain--$$cap_appname-prosody", + "XMPP_BOSH_URL_BASE": "http://srv-captain--$$cap_appname-prosody:5280", + "XMPP_AUTH_DOMAIN": "auth.meet.jitsi", + "XMPP_MUC_DOMAIN": "muc.meet.jitsi", + "XMPP_INTERNAL_MUC_DOMAIN": "internal-muc.meet.jitsi", + "XMPP_GUEST_DOMAIN": "guest.meet.jitsi", + "XMPP_MODULES": "", + "XMPP_MUC_MODULES": "", + "XMPP_INTERNAL_MUC_MODULES": "", + "JVB_BREWERY_MUC": "jvbbrewery", + "JVB_AUTH_USER": "jvb", + "JVB_STUN_SERVERS": "meet-jit-si-turnrelay.jitsi.net:443", + "JVB_PORT": "$$cap_jvb_udp", + "JVB_TCP_HARVESTER_DISABLED": "true", + "JVB_TCP_PORT": "$$cap_jvb_tcp", + "JICOFO_AUTH_USER": "focus", + "JIGASI_XMPP_USER": "jigasi", + "JIGASI_BREWERY_MUC": "jigasibrewery", + "JIGASI_PORT_MIN": "20000", + "JIGASI_PORT_MAX": "20050", + "XMPP_RECORDER_DOMAIN": "recorder.meet.jitsi", + "JIBRI_RECORDER_USER": "recorder", + "JIBRI_RECORDING_DIR": "/config/recordings", + "JIBRI_FINALIZE_RECORDING_SCRIPT_PATH": "/config/finalize.sh", + "JIBRI_XMPP_USER": "jibri", + "JIBRI_BREWERY_MUC": "jibribrewery", + "JIBRI_PENDING_TIMEOUT": "90", + "JIBRI_STRIP_DOMAIN_JID": "muc", + "JIBRI_LOGS_DIR": "/config/logs" + }, + "depends_on": ["$$cap_appname-prosody"] + } + } + }, + "instructions": { + "end": "Containers were created successfully. You should wait for a few minutes before enter to Jitsi Web.", + "start": "This one click app is based on Jitsi docker image." + }, + "variables": [ + { + "label": "Docker tag version", + "description": "You can check the version in Docker Hub: https://hub.docker.com/r/jitsi/web/tags", + "defaultValue": "4416", + "id": "$$cap_tag_version" + }, + { + "label": "HTTP Port", + "description": "This is the HTTP port to access Jitsi", + "defaultValue": "8000", + "id": "$$cap_http_port" + }, + { + "label": "HTTPS Port", + "description": "This is the HTTPS port to access Jitsi", + "defaultValue": "8443", + "id": "$$cap_https_port" + }, + { + "label": "Timezone", + "description": "This is the timezone for Jitsi", + "defaultValue": "Europe/Amsterdam", + "id": "$$cap_timezone" + }, + { + "label": "JVB TCP Port", + "description": "TCP Port for JVB service", + "defaultValue": "4443", + "id": "$$cap_jvb_tcp" + }, + { + "label": "JVB UDP Port", + "description": "UDP Port for JVB service", + "defaultValue": "10000", + "id": "$$cap_jvb_udp" + }, + { + "label": "Password", + "description": "This is the password for Jitsi's services", + "defaultValue": "pass", + "id": "$$cap_password" + } + ] + } + \ No newline at end of file diff --git a/public/v2/logos/jitsi.png b/public/v2/logos/jitsi.png new file mode 100644 index 0000000..e3a58bf Binary files /dev/null and b/public/v2/logos/jitsi.png differ