#!/usr/bin/env bash ABSDIR="$( dirname "$(readlink -f -- "$0")" )" source ${ABSDIR}/../functions.sh source ${ABSDIR}/vars.sh ensure_pwd_is_scriptdir ensure_not_root ensure_pod_not_exists ${pod_name} if [[ -d ~/${confvolume} ]]; then echo "Error : conf volume ~/${confvolume} already exists. Please consider running 80_destroy.sh." exit 1 fi source ${ABSDIR}/zz_build-images.sh mkdir -p ~/${confvolume}/{web/letsencrypt,web/crontabs,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri} # Patch config.js echo " config.enableInsecureRoomNameWarning = true; config.disableThirdPartyRequests = true; " > ~/${confvolume}/web/custom-config.js # Patch ~/${confvolume}/web/interface_config.js echo " interfaceConfig.APP_NAME = 'Jitsi Garbaye'; interfaceConfig.DEFAULT_REMOTE_DISPLAY_NAME = 'Participant'; interfaceConfig.JITSI_WATERMARK_LINK = '${GARBAYE_JITSI_URL}'; " > ~/${confvolume}/web/custom-interface_config.js curl -s -- "https://codeload.github.com/jitsi/docker-jitsi-meet/tar.gz/refs/tags/${version}" | tar xzv --strip-components 1 docker-jitsi-meet-${version}/docker-compose.yml docker-jitsi-meet-${version}/env.example docker-jitsi-meet-${version}/gen-passwords.sh cp env.example .env ./gen-passwords.sh # Patch docker-compose.yml sed_in_place "^ environment:" " env_file:\n - .env\n environment:" docker-compose.yml sed_in_place "^ - '\${JVB_TCP_PORT}:\${JVB_TCP_PORT}'" "# - '\${JVB_TCP_PORT}:\${JVB_TCP_PORT}'" docker-compose.yml sed_in_place "^ - '\${HTTP_PORT}:80'" " - '\${listen_if}:\${HTTP_PORT}:80'" docker-compose.yml sed_in_place "^ - '\${HTTPS_PORT}:443'" "# - '\${HTTPS_PORT}:443'" docker-compose.yml # Patch env file sed_in_place "^HTTP_PORT=8000" "HTTP_PORT=${listen_port}" .env sed_in_place "^HTTPS_PORT=8443" "#HTTPS_PORT=8443" .env sed_in_place "^TZ=UTC" "TZ=Europe/Paris" .env sed_in_place "^#PUBLIC_URL=https://meet.example.com" "PUBLIC_URL=${GARBAYE_JITSI_URL}" .env sed_in_place "^#DOCKER_HOST_ADDRESS=192.168.1.1" "DOCKER_HOST_ADDRESS=${GARBAYE_JITSI_PRIV_IP}" .env sed_in_place "^#ENABLE_LETSENCRYPT=1" "ENABLE_LETSENCRYPT=0" .env sed_in_place "^#ENABLE_AUTH=1" "ENABLE_AUTH=0" .env sed_in_place "^XMPP_SERVER=xmpp.meet.jitsi" "XMPP_SERVER=prosody" .env sed_in_place "^XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280" "XMPP_BOSH_URL_BASE=http://prosody:5280" .env sed_in_place "^JVB_PORT=10000" "JVB_PORT=${listen_port}" .env sed_in_place "^JVB_TCP_HARVESTER_DISABLED=true" "JVB_TCP_HARVESTER_DISABLED=false" .env sed_in_place "^#ENABLE_RECORDING=1" "ENABLE_RECORDING=0" .env sed_in_place "^#DISABLE_HTTPS=1" "DISABLE_HTTPS=1" .env sed_in_place "^#ENABLE_HTTP_REDIRECT=1" "ENABLE_HTTP_REDIRECT=0" .env sed_in_place "^#ENABLE_IPV6=1" "ENABLE_IPV6=0" .env echo "ENABLE_P2P=false" >> .env export listen_if export listen_port podman-compose up -d && # Wait for web to be up ( podman logs --tail=3 -f podman-jitsi_web_1 2>&1 & ) | grep -q '^\[services.d\] done.$' && podman pod stop ${pod_name} && echo Pod built and stopped. # cleanup shred -u .env .env.bak env.example gen-passwords.sh docker-compose.yml