From f840138014132a5a1b356764c641f570aeabf28e Mon Sep 17 00:00:00 2001 From: Christopher Fuentes <42223477+chrisft25@users.noreply.github.com> Date: Sun, 3 May 2020 09:46:22 -0600 Subject: [PATCH] Jitsi (#156) * Creating Jitsi One Click App. Version 1 * Adding extra inputs * Adding docker tag version to images --- public/v2/apps/jitsi.json | 255 ++++++++++++++++++++++++++++++++++++++ public/v2/logos/jitsi.png | Bin 0 -> 21360 bytes 2 files changed, 255 insertions(+) create mode 100644 public/v2/apps/jitsi.json create mode 100644 public/v2/logos/jitsi.png 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 0000000000000000000000000000000000000000..e3a58bfe170e00c07e14db2e73e2ef1d512ac533 GIT binary patch literal 21360 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 X%+2lgIrrJkTY>y-VQpS&>Ur~jCHh>` literal 0 HcmV?d00001