diff --git a/blueprints/jitsi/docker-compose.yml b/blueprints/jitsi/docker-compose.yml new file mode 100644 index 00000000..3e235416 --- /dev/null +++ b/blueprints/jitsi/docker-compose.yml @@ -0,0 +1,105 @@ +services: + web: + image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable} + restart: unless-stopped + depends_on: + - prosody + volumes: + - jitsiWebConfig:/config + - jitsiWebTranscripts:/usr/share/jitsi-meet/transcripts + environment: + - PUBLIC_URL + - TZ + - XMPP_DOMAIN + - XMPP_AUTH_DOMAIN + - XMPP_BOSH_URL_BASE + - XMPP_MUC_DOMAIN + - XMPP_GUEST_DOMAIN + - XMPP_RECORDER_DOMAIN + - ENABLE_AUTH + - ENABLE_GUESTS + - ENABLE_LETSENCRYPT + - ENABLE_HTTP_REDIRECT + - ENABLE_XMPP_WEBSOCKET + - ENABLE_COLIBRI_WEBSOCKET + - DISABLE_HTTPS + - JICOFO_AUTH_USER + - JVB_AUTH_USER + - JICOFO_AUTH_PASSWORD + - JVB_AUTH_PASSWORD + + prosody: + image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable} + restart: unless-stopped + volumes: + - jitsiProsodyConfig:/config + - jitsiProsodyPlugins:/prosody-plugins-custom + environment: + - TZ + - XMPP_DOMAIN + - XMPP_AUTH_DOMAIN + - XMPP_MUC_DOMAIN + - XMPP_GUEST_DOMAIN + - XMPP_RECORDER_DOMAIN + - JICOFO_AUTH_USER + - JVB_AUTH_USER + - JICOFO_AUTH_PASSWORD + - JVB_AUTH_PASSWORD + - JICOFO_COMPONENT_SECRET + - JWT_APP_ID + - JWT_APP_SECRET + - ENABLE_AUTH + - ENABLE_GUESTS + + jicofo: + image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable} + restart: unless-stopped + depends_on: + - prosody + volumes: + - jitsiJicofoConfig:/config + environment: + - TZ + - XMPP_DOMAIN + - XMPP_AUTH_DOMAIN + - XMPP_MUC_DOMAIN + - XMPP_INTERNAL_MUC_DOMAIN + - JICOFO_AUTH_USER + - JICOFO_AUTH_PASSWORD + - JICOFO_COMPONENT_SECRET + - JVB_BREWERY_MUC + + jvb: + image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable} + restart: unless-stopped + depends_on: + - prosody + ports: + - 10000 + volumes: + - jitsiJvbConfig:/config + environment: + - TZ + - XMPP_AUTH_DOMAIN + - XMPP_INTERNAL_MUC_DOMAIN + - JVB_AUTH_USER + - JVB_AUTH_PASSWORD + - JVB_BREWERY_MUC + - JVB_PORT + - JVB_ADVERTISE_IPS + - PUBLIC_URL + +volumes: + jitsiWebConfig: + driver: local + jitsiWebTranscripts: + driver: local + jitsiProsodyConfig: + driver: local + jitsiProsodyPlugins: + driver: local + jitsiJicofoConfig: + driver: local + jitsiJvbConfig: + driver: local + diff --git a/blueprints/jitsi/jitsi.svg b/blueprints/jitsi/jitsi.svg new file mode 100644 index 00000000..9f6f6700 --- /dev/null +++ b/blueprints/jitsi/jitsi.svg @@ -0,0 +1 @@ + diff --git a/blueprints/jitsi/template.toml b/blueprints/jitsi/template.toml new file mode 100644 index 00000000..83bcfded --- /dev/null +++ b/blueprints/jitsi/template.toml @@ -0,0 +1,43 @@ +[variables] +main_domain = "${domain}" +jitsi_image_version = "unstable" +jicofo_auth_password = "${password:32}" +jvb_auth_password = "${password:32}" +jicofo_component_secret = "${password:32}" + +[config] +mounts = [] + +[[config.domains]] +serviceName = "web" +port = 8_000 +host = "${main_domain}" + +[config.env] +PUBLIC_URL = "https://${main_domain}" +TZ = "UTC" +JITSI_IMAGE_VERSION = "${jitsi_image_version}" +XMPP_DOMAIN = "meet.jitsi" +XMPP_AUTH_DOMAIN = "auth.meet.jitsi" +XMPP_BOSH_URL_BASE = "http://prosody:5280" +XMPP_MUC_DOMAIN = "muc.meet.jitsi" +XMPP_INTERNAL_MUC_DOMAIN = "internal-muc.meet.jitsi" +XMPP_GUEST_DOMAIN = "guest.meet.jitsi" +XMPP_RECORDER_DOMAIN = "recorder.meet.jitsi" +ENABLE_AUTH = "0" +ENABLE_GUESTS = "1" +ENABLE_LETSENCRYPT = "0" +ENABLE_HTTP_REDIRECT = "0" +ENABLE_XMPP_WEBSOCKET = "1" +ENABLE_COLIBRI_WEBSOCKET = "1" +DISABLE_HTTPS = "1" +JICOFO_AUTH_USER = "focus" +JVB_AUTH_USER = "jvb" +JICOFO_AUTH_PASSWORD = "${jicofo_auth_password}" +JVB_AUTH_PASSWORD = "${jvb_auth_password}" +JICOFO_COMPONENT_SECRET = "${jicofo_component_secret}" +JVB_BREWERY_MUC = "jvbbrewery" +JVB_PORT = "10000" +JVB_ADVERTISE_IPS = "" +JWT_APP_ID = "" +JWT_APP_SECRET = "" diff --git a/meta.json b/meta.json index e6e5bf61..4c6792e4 100644 --- a/meta.json +++ b/meta.json @@ -3699,6 +3699,24 @@ "open-source" ] }, + { + "id": "jitsi", + "name": "Jitsi Meet", + "version": "1.0.0", + "description": "Jitsi Meet is an open-source video conferencing platform for secure, self-hosted meetings.", + "links": { + "github": "https://github.com/jitsi/docker-jitsi-meet", + "website": "https://jitsi.org/jitsi-meet/", + "docs": "https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker" + }, + "logo": "jitsi.svg", + "tags": [ + "video-conferencing", + "meetings", + "self-hosted", + "webrtc" + ] + }, { "id": "joomla", "name": "Joomla",