forked from switnet/quick-jibri-installer
				
			Compare commits
	
		
			5 Commits
		
	
	
		
			40b84218fc
			...
			059213caa4
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 059213caa4 | |
|  | b9b5d2e326 | |
|  | 11c261959f | |
|  | 33f1967c6d | |
|  | 22c1b881ae | 
|  | @ -122,10 +122,14 @@ elif [ -f "$WS_CONF" ]; then | ||||||
|     echo "> Setting up webserver configuration file..." |     echo "> Setting up webserver configuration file..." | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ #Etherpad block" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ #Etherpad block" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ location \^\~\ \/etherpad\/ {" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ location \^\~\ \/etherpad\/ {" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_pass http:\/\/localhost:9001\/;" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_http_version 1.1;" "$WS_CONF" | ||||||
|  |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_set_header Upgrade \$http_upgrade;" "$WS_CONF" | ||||||
|  |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_set_header Connection \$connection_upgrade;" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_set_header X-Forwarded-For \$remote_addr;" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_set_header X-Forwarded-For \$remote_addr;" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_buffering off;" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_buffering off;" "$WS_CONF" | ||||||
|  |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_redirect off;" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_set_header       Host \$host;" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_set_header       Host \$host;" "$WS_CONF" | ||||||
|  |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ \ \ \ \ proxy_pass http:\/\/localhost:9001\/;" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ }" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \ \ \ \ }" "$WS_CONF" | ||||||
|     sed -i "/$WS_CONF_MATCH1/i \\\n" "$WS_CONF" |     sed -i "/$WS_CONF_MATCH1/i \\\n" "$WS_CONF" | ||||||
| else | else | ||||||
|  | @ -138,7 +142,7 @@ if [ "$(grep -c "etherpad_base" "$WS_CONF")" != 0 ]; then | ||||||
|     echo -e "> $MEET_CONF seems configured, skipping...\n" |     echo -e "> $MEET_CONF seems configured, skipping...\n" | ||||||
| else | else | ||||||
|     echo -e "> Setting etherpad domain at $MEET_CONF...\n" |     echo -e "> Setting etherpad domain at $MEET_CONF...\n" | ||||||
|     sed -i "/ openSharedDocumentOnJoin:/a\ \ \ \ etherpad_base: \'https://$DOMAIN/etherpad/p/\'," "$MEET_CONF" |     sed -i "s|// etherpad_base: .*|etherpad_base: \'https://$DOMAIN/etherpad/p/\',|" "$MEET_CONF" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| echo "> Checking nginx configuration..." | echo "> Checking nginx configuration..." | ||||||
|  |  | ||||||
|  | @ -0,0 +1,126 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | # Quick Jigasi Installer with VOSK backend - *buntu (LTS) based systems. | ||||||
|  | # SwITNet Ltd © - 2024, https://switnet.net/ | ||||||
|  | # GPLv3 or later. | ||||||
|  | 
 | ||||||
|  | #Check if user is root | ||||||
|  | if ! [ "$(id -u)" = 0 ]; then | ||||||
|  |    echo "You need to be root or have sudo privileges!" | ||||||
|  |    exit 0 | ||||||
|  | fi | ||||||
|  | exit_if_not_installed() { | ||||||
|  | if [ "$(dpkg-query -W -f='${Status}' "$1" 2>/dev/null | grep -c "ok installed")" != "1" ]; then | ||||||
|  |     echo " This instance doesn't have $1 installed, exiting..." | ||||||
|  |     echo " If you think this is an error, please report to: | ||||||
|  |     -> https://forge.switnet.net/switnet/quick-jibri-installer/issues " | ||||||
|  |     exit | ||||||
|  | fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | clear | ||||||
|  | echo '' | ||||||
|  | echo '########################################################################' | ||||||
|  | echo '                       Jigasi Transcript addon' | ||||||
|  | echo '########################################################################' | ||||||
|  | echo '                    by Software, IT & Networks Ltd' | ||||||
|  | echo '' | ||||||
|  | 
 | ||||||
|  | exit_if_not_installed jitsi-meet | ||||||
|  | 
 | ||||||
|  | DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua|awk -F'.cfg' '!/localhost/{print $1}'|xargs basename)" | ||||||
|  | JIG_TRANSC_PASWD="$(tr -dc "a-zA-Z0-9#*=" < /dev/urandom | fold -w 16 | head -n1)" | ||||||
|  | JIG_SIP_PROP="/etc/jitsi/jigasi/sip-communicator.properties" | ||||||
|  | export DOMAIN | ||||||
|  | export JIG_TRANSC_PASWD | ||||||
|  | 
 | ||||||
|  | apt-get -q2 update | ||||||
|  | 
 | ||||||
|  | # Disable SIP account prompt by default | ||||||
|  | echo "jigasi	jigasi/sip-account	string	''" | debconf-set-selections | ||||||
|  | echo "jigasi	jigasi/sip-password	password	''" | debconf-set-selections | ||||||
|  | 
 | ||||||
|  | echo "Installing Jigasi, SIP configuration disabled by default." | ||||||
|  | apt-get -y install gettext-base jigasi docker.io | ||||||
|  | 
 | ||||||
|  | echo "Please select a language for the VOSK transcription model:" | ||||||
|  | echo "1) Chinese" | ||||||
|  | echo "2) English" | ||||||
|  | echo "3) French" | ||||||
|  | echo "4) German" | ||||||
|  | echo "5) Hindi" | ||||||
|  | echo "6) Japanese" | ||||||
|  | echo "7) Russian" | ||||||
|  | echo "8) Spanish" | ||||||
|  | 
 | ||||||
|  | read -p "Enter the number corresponding to your language choice: " -r lang_choice | ||||||
|  | 
 | ||||||
|  | case $lang_choice in | ||||||
|  |     1) | ||||||
|  |         echo "You selected Chinese." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-cn" | ||||||
|  |         ;; | ||||||
|  |     2) | ||||||
|  |         echo "You selected English." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-en" | ||||||
|  |         ;; | ||||||
|  |     3) | ||||||
|  |         echo "You selected French." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-fr" | ||||||
|  |         ;; | ||||||
|  |     4) | ||||||
|  |         echo "You selected German." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-de" | ||||||
|  |         ;; | ||||||
|  |     5) | ||||||
|  |         echo "You selected Hindi." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-hi" | ||||||
|  |         ;; | ||||||
|  |     6) | ||||||
|  |         echo "You selected Japanese." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-ja" | ||||||
|  |         ;; | ||||||
|  |     7) | ||||||
|  |         echo "You selected Russian." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-ru" | ||||||
|  |         ;; | ||||||
|  |     8) | ||||||
|  |         echo "You selected Spanish." | ||||||
|  |         VOSK_DOCKER_MODEL="alphacep/kaldi-es" | ||||||
|  |         ;; | ||||||
|  |     *) | ||||||
|  |         echo "Invalid selection. Please choose a number between 1 and 8." | ||||||
|  |         ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | # Running selected VOSK docker model. | ||||||
|  | docker run -d -p 2700:2700 ${VOSK_DOCKER_MODEL}:latest | ||||||
|  | 
 | ||||||
|  | echo "Setting up Jigasi transcript with current platform..." | ||||||
|  | 
 | ||||||
|  | # Jitsi Meet | ||||||
|  | echo "> Patching Jitsi Meet's config.js for Transcription support." | ||||||
|  | echo "  Read more at patches/jigasi/jigasi-meet-config.patch file" | ||||||
|  | envsubst < patches/jigasi/jigasi-meet-config.patch | patch --no-backup-if-mismatch -d / -p1 | ||||||
|  | 
 | ||||||
|  | # Jigasi | ||||||
|  | echo "> Patching jigasi's sip-communicator.properties configuration." | ||||||
|  | echo "  Read more at patches/jigasi/jigasi-sip-properties.patch file" | ||||||
|  | cp "$JIG_SIP_PROP" ${JIG_SIP_PROP}-dpkg-file | ||||||
|  | envsubst < patches/jigasi/jigasi-sip-properties.patch | patch --no-backup-if-mismatch -d / -p1 | ||||||
|  | 
 | ||||||
|  | # Create transcribe user on hidden domain. | ||||||
|  | prosodyctl register transcriber recorder."$DOMAIN" "$JIG_TRANSC_PASWD" | ||||||
|  | 
 | ||||||
|  | # Restart services. | ||||||
|  | systemctl restart prosody \ | ||||||
|  |                   jicofo \ | ||||||
|  |                   jigasi \ | ||||||
|  |                   jibri* \ | ||||||
|  |                   jitsi-videobridge2 | ||||||
|  | 
 | ||||||
|  | echo "" | ||||||
|  | echo "Full transcript files are available at:" | ||||||
|  | echo "--> /var/lib/jigasi/transcripts/" | ||||||
|  | echo "" | ||||||
|  | echo "Happy transcripting!" | ||||||
|  | echo "" | ||||||
|  | @ -0,0 +1,40 @@ | ||||||
|  | # Quick Jigasi Installer with VOSK backend - *buntu (LTS) based systems. | ||||||
|  | # SwITNet Ltd © - 2024, https://switnet.net/ | ||||||
|  | # GPLv3 or later. | ||||||
|  | 
 | ||||||
|  | Enable transcription on jitsi meet config.js file. | ||||||
|  | 
 | ||||||
|  | diff --git a/etc/jitsi/meet/${DOMAIN}-config.js b/etc/jitsi/meet/${DOMAIN}-config.js
 | ||||||
|  | index f412891..f704157 100644
 | ||||||
|  | --- a/etc/jitsi/meet/${DOMAIN}-config.js
 | ||||||
|  | +++ b/etc/jitsi/meet/${DOMAIN}-config.js
 | ||||||
|  | @@ -407,9 +407,9 @@ var config = {
 | ||||||
|  |      // autoCaptionOnRecord: false, | ||||||
|  |   | ||||||
|  |      // Transcription options. | ||||||
|  | -    // transcription: {
 | ||||||
|  | +    transcription: {
 | ||||||
|  |      //     // Whether the feature should be enabled or not. | ||||||
|  | -    //     enabled: false,
 | ||||||
|  | +        enabled: true,
 | ||||||
|  |   | ||||||
|  |      //     // Translation languages. | ||||||
|  |      //     // Available languages can be found in | ||||||
|  | @@ -424,7 +424,7 @@ var config = {
 | ||||||
|  |      //     // detected based on the environment, e.g. if the app is opened in a chrome instance which | ||||||
|  |      //     // is using french as its default language then transcriptions for that participant will be in french. | ||||||
|  |      //     // Defaults to true. | ||||||
|  | -    //     useAppLanguage: true,
 | ||||||
|  | +        useAppLanguage: true,
 | ||||||
|  |   | ||||||
|  |      //     // Transcriber language. This settings will only work if "useAppLanguage" | ||||||
|  |      //     // is explicitly set to false. | ||||||
|  | @@ -434,7 +434,7 @@ var config = {
 | ||||||
|  |   | ||||||
|  |      //     // Enables automatic turning on transcribing when recording is started | ||||||
|  |      //     autoTranscribeOnRecord: false, | ||||||
|  | -    // },
 | ||||||
|  | +    },
 | ||||||
|  |   | ||||||
|  |      // Misc | ||||||
|  |   | ||||||
|  | @ -0,0 +1,80 @@ | ||||||
|  | # Quick Jigasi Installer with VOSK backend - *buntu (LTS) based systems. | ||||||
|  | # SwITNet Ltd © - 2024, https://switnet.net/ | ||||||
|  | # GPLv3 or later. | ||||||
|  | 
 | ||||||
|  | Modify sip-communicator.properties to run Jigasi along with VOSK Models. | ||||||
|  | 
 | ||||||
|  | diff --git a/etc/jitsi/jigasi/sip-communicator.properties b/etc/jitsi/jigasi/sip-communicator.properties
 | ||||||
|  | index 7a8d0f3..ae5369a 100644
 | ||||||
|  | --- a/etc/jitsi/jigasi/sip-communicator.properties
 | ||||||
|  | +++ b/etc/jitsi/jigasi/sip-communicator.properties
 | ||||||
|  | @@ -165,12 +165,12 @@ org.jitsi.jigasi.xmpp.acc.USE_DEFAULT_STUN_SERVER=false
 | ||||||
|  |   | ||||||
|  |  # If you want jigasi to perform authenticated login instead of anonymous login | ||||||
|  |  # to the XMPP server, you can set the following properties. | ||||||
|  | -# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN
 | ||||||
|  | -# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
 | ||||||
|  | -# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
 | ||||||
|  | +org.jitsi.jigasi.xmpp.acc.USER_ID=transcriber@recorder.${DOMAIN}
 | ||||||
|  | +org.jitsi.jigasi.xmpp.acc.PASS=${JIG_TRANSC_PASWD}
 | ||||||
|  | +org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
 | ||||||
|  |   | ||||||
|  |  # To fix SSL/TLS required by client but not supported by server | ||||||
|  | -#org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true
 | ||||||
|  | +org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true
 | ||||||
|  |   | ||||||
|  |  # Can be used in combination with jitsi-meet module mod_auth_jitsi-shared-secret | ||||||
|  |  # To have jigasi use a random username on every call | ||||||
|  | @@ -187,7 +187,7 @@ org.jitsi.jigasi.xmpp.acc.USE_DEFAULT_STUN_SERVER=false
 | ||||||
|  |  # Activate this property if you are using self-signed certificates or other | ||||||
|  |  # type of non-trusted certicates. In this mode your service trust in the | ||||||
|  |  # remote certificates always. | ||||||
|  | -# net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true
 | ||||||
|  | +net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true
 | ||||||
|  |   | ||||||
|  |  # Enable this property to be able to shutdown gracefully jigasi using | ||||||
|  |  # a rest command | ||||||
|  | @@ -196,31 +196,31 @@ org.jitsi.jigasi.xmpp.acc.USE_DEFAULT_STUN_SERVER=false
 | ||||||
|  |  # Options regarding Transcription. Read the README for a detailed description | ||||||
|  |  # about each property | ||||||
|  |   | ||||||
|  | -#org.jitsi.jigasi.ENABLE_TRANSCRIPTION=false
 | ||||||
|  | -#org.jitsi.jigasi.ENABLE_SIP=true
 | ||||||
|  | +org.jitsi.jigasi.ENABLE_TRANSCRIPTION=true
 | ||||||
|  | +org.jitsi.jigasi.ENABLE_SIP=false
 | ||||||
|  |   | ||||||
|  |  # whether to use the more expensive, but better performing | ||||||
|  |  # "video" model when doing transcription | ||||||
|  |  # org.jitsi.jigasi.transcription.USE_VIDEO_MODEL = false | ||||||
|  |   | ||||||
|  |  # delivering final transcript | ||||||
|  | -# org.jitsi.jigasi.transcription.DIRECTORY=/var/lib/jigasi/transcripts
 | ||||||
|  | -# org.jitsi.jigasi.transcription.BASE_URL=http://localhost/
 | ||||||
|  | -# org.jitsi.jigasi.transcription.jetty.port=-1
 | ||||||
|  | -# org.jitsi.jigasi.transcription.ADVERTISE_URL=false
 | ||||||
|  | +org.jitsi.jigasi.transcription.DIRECTORY=/var/lib/jigasi/transcripts
 | ||||||
|  | +org.jitsi.jigasi.transcription.BASE_URL=http://localhost/
 | ||||||
|  | +org.jitsi.jigasi.transcription.jetty.port=-1
 | ||||||
|  | +org.jitsi.jigasi.transcription.ADVERTISE_URL=false
 | ||||||
|  |   | ||||||
|  |  # save formats | ||||||
|  | -# org.jitsi.jigasi.transcription.SAVE_JSON=false
 | ||||||
|  | -# org.jitsi.jigasi.transcription.SAVE_TXT=true
 | ||||||
|  | +org.jitsi.jigasi.transcription.SAVE_JSON=false
 | ||||||
|  | +org.jitsi.jigasi.transcription.SAVE_TXT=true
 | ||||||
|  |   | ||||||
|  |  # send formats | ||||||
|  | -# org.jitsi.jigasi.transcription.SEND_JSON=true
 | ||||||
|  | -# org.jitsi.jigasi.transcription.SEND_TXT=false
 | ||||||
|  | +org.jitsi.jigasi.transcription.SEND_JSON=true
 | ||||||
|  | +org.jitsi.jigasi.transcription.SEND_TXT=false
 | ||||||
|  |   | ||||||
|  |  # Vosk server | ||||||
|  | -# org.jitsi.jigasi.transcription.customService=org.jitsi.jigasi.transcription.VoskTranscriptionService
 | ||||||
|  | +org.jitsi.jigasi.transcription.customService=org.jitsi.jigasi.transcription.VoskTranscriptionService
 | ||||||
|  |  # org.jitsi.jigasi.transcription.vosk.websocket_url={"en": "ws://localhost:2700", "fr": "ws://localhost:2710"} | ||||||
|  | -# org.jitsi.jigasi.transcription.vosk.websocket_url=ws://localhost:2700
 | ||||||
|  | +org.jitsi.jigasi.transcription.vosk.websocket_url=ws://localhost:2700
 | ||||||
|  |   | ||||||
|  |  # Whisper live transcription server | ||||||
|  |  # org.jitsi.jigasi.transcription.customService=org.jitsi.jigasi.transcription.WhisperTranscriptionService | ||||||
|  | @ -546,7 +546,6 @@ JIBRI_XORG_CONF="/etc/jitsi/jibri/xorg-video-dummy.conf" | ||||||
| WS_MATCH1="# ensure all static content can always be found first" | WS_MATCH1="# ensure all static content can always be found first" | ||||||
| WS_MATCH2="external_api.js" | WS_MATCH2="external_api.js" | ||||||
| MEET_MATCH1="disable simulcast support." | MEET_MATCH1="disable simulcast support." | ||||||
| #GC_SDK_REL_FILE="http://packages.cloud.google.com/apt/dists/cloud-sdk-$(lsb_release -sc)/Release" |  | ||||||
| 
 | 
 | ||||||
| # Make sure we can rely on the match strings. | # Make sure we can rely on the match strings. | ||||||
| printf "> Testing match strings on config files.\n" | printf "> Testing match strings on config files.\n" | ||||||
|  | @ -700,24 +699,16 @@ do | ||||||
| done | done | ||||||
| sleep .1 | sleep .1 | ||||||
| ##Jigasi | ##Jigasi | ||||||
| #if [ "$(curl -s -o /dev/null -w "%{http_code}" "$GC_SDK_REL_FILE" )" == "404" ]; then | while [ "$ENABLE_TRANSCRIPT" != "yes" ] && [ "$ENABLE_TRANSCRIPT" != "no" ] | ||||||
|     #printf "> Sorry Google SDK doesn't have support yet for %s, | do | ||||||
|     #thus, Jigasi Transcript can't be enable.\n\n" "$(lsb_release -sd)" |     read -p "> Do you want to setup Jigasi Transcription: (yes or no) | ||||||
| #elif [ "$(curl -s -o /dev/null -w "%{http_code}" "$GC_SDK_REL_FILE" )" == "200" ]; then |  | ||||||
|     #while [ "$ENABLE_TRANSCRIPT" != "yes" ] && [ "$ENABLE_TRANSCRIPT" != "no" ] |  | ||||||
|     #do |  | ||||||
|         #read -p "> Do you want to setup Jigasi Transcription: (yes or no) |  | ||||||
| #( Please check requirements at: https://forge.switnet.net/switnet/quick-jibri-installer )$NL" -r ENABLE_TRANSCRIPT | #( Please check requirements at: https://forge.switnet.net/switnet/quick-jibri-installer )$NL" -r ENABLE_TRANSCRIPT | ||||||
|         #if [ "$ENABLE_TRANSCRIPT" = "no" ]; then |     if [ "$ENABLE_TRANSCRIPT" = "no" ]; then | ||||||
|             #printf " - Jigasi Transcription won't be enabled.\n\n" |         printf " - Jigasi Transcription won't be enabled.\n\n" | ||||||
|         #elif [ "$ENABLE_TRANSCRIPT" = "yes" ]; then |     elif [ "$ENABLE_TRANSCRIPT" = "yes" ]; then | ||||||
|             #printf " - Jigasi Transcription will be enabled.\n\n" |         printf " - Jigasi Transcription will be enabled.\n\n" | ||||||
|         #fi |     fi | ||||||
|     #done | done | ||||||
| #else |  | ||||||
|     #echo "No valid option for Jigasi. Please report this to |  | ||||||
| #https://forge.switnet.net/switnet/quick-jibri-installer/issues" |  | ||||||
| #fi |  | ||||||
| sleep .1 | sleep .1 | ||||||
| #Grafana | #Grafana | ||||||
| while [ "$ENABLE_GRAFANA_DSH" != "yes" ] && [ "$ENABLE_GRAFANA_DSH" != "no" ] | while [ "$ENABLE_GRAFANA_DSH" != "yes" ] && [ "$ENABLE_GRAFANA_DSH" != "no" ] | ||||||
|  | @ -861,13 +852,21 @@ BREWERY | ||||||
| 
 | 
 | ||||||
| # Jibri tweaks for /etc/jitsi/meet/$DOMAIN-config.js | # Jibri tweaks for /etc/jitsi/meet/$DOMAIN-config.js | ||||||
| sed -i "s|conference.$DOMAIN|internal.auth.$DOMAIN|" "$MEET_CONF" | sed -i "s|conference.$DOMAIN|internal.auth.$DOMAIN|" "$MEET_CONF" | ||||||
| #New recording implementation. | 
 | ||||||
|  | #Enable recording by default. | ||||||
| sed -i "s|// recordingService:|recordingService:|" "$MEET_CONF" | sed -i "s|// recordingService:|recordingService:|" "$MEET_CONF" | ||||||
| sed -i "/recordingService/,/hideStorageWarning/s|//     enabled: false,|       enabled: true,|" "$MEET_CONF" | sed -i "/recordingService/,/hideStorageWarning/s|//     enabled: false,|    enabled: true,|" "$MEET_CONF" | ||||||
| sed -i "/hideStorageWarning: false/,/Local recording configuration/s|// },|},|" "$MEET_CONF" | sed -i "/hideStorageWarning: false/,/}/s|// },|},|" "$MEET_CONF" | ||||||
|  | #Prepare hidden domain for jibri/jigasi silent users. | ||||||
| sed -i "/fileRecordingsServiceEnabled: false,/a \\ | sed -i "/fileRecordingsServiceEnabled: false,/a \\ | ||||||
|     hiddenDomain: \'recorder.$DOMAIN\'," "$MEET_CONF" |     hiddenDomain: \'recorder.$DOMAIN\'," "$MEET_CONF" | ||||||
| 
 | 
 | ||||||
|  | #Enable livestreaming by default. | ||||||
|  | sed -i "s|// liveStreaming:|liveStreaming:|" "$MEET_CONF" | ||||||
|  | sed -i "/liveStreaming:/,/helpLink:/s|//     enabled: false,|    enabled: true,|" "$MEET_CONF" | ||||||
|  | sed -i "s|//    helpLink:|   helpLink:|" "$MEET_CONF" | ||||||
|  | sed -i "/helpLink:/,/}/s|// },|},|" "$MEET_CONF" | ||||||
|  | 
 | ||||||
| # Recording directory | # Recording directory | ||||||
| if [ ! -d "$DIR_RECORD" ]; then | if [ ! -d "$DIR_RECORD" ]; then | ||||||
|     mkdir "$DIR_RECORD" |     mkdir "$DIR_RECORD" | ||||||
|  | @ -886,8 +885,8 @@ echo "or storage provider, etc.) in this script" >> /tmp/finalize.out | ||||||
| 
 | 
 | ||||||
| chmod -R 770 \$RECORDINGS_DIR | chmod -R 770 \$RECORDINGS_DIR | ||||||
| 
 | 
 | ||||||
| LJF_PATH="\$(find \$RECORDINGS_DIR -exec stat --printf="%Y\t%n\n" {} \; | sort -n -r|awk '{print\$2}'| grep -v "meta\|-" | head -n1)" | LJF_PATH="\$(find \$RECORDINGS_DIR -exec stat --printf="%Y\t%n\n" {} \; | sort -nr|sed 1d|awk '{print\$2}'| grep -v "meta\|_" | head -n1)" | ||||||
| NJF_NAME="\$(find \$LJF_PATH |grep -e "-"|sed "s|\$LJF_PATH/||"|cut -d "." -f1)" | NJF_NAME="\$(find \$LJF_PATH |grep "mp4"|sed "s|\$LJF_PATH/||"|cut -d "." -f1)" | ||||||
| NJF_PATH="\$RECORDINGS_DIR/\$NJF_NAME" | NJF_PATH="\$RECORDINGS_DIR/\$NJF_NAME" | ||||||
| mv \$LJF_PATH \$NJF_PATH | mv \$LJF_PATH \$NJF_PATH | ||||||
| 
 | 
 | ||||||
|  | @ -1165,7 +1164,16 @@ if [ "$ENABLE_NC_ACCESS" = "yes" ]; then | ||||||
|     fi |     fi | ||||||
| fi | fi | ||||||
| sleep .1 | sleep .1 | ||||||
| 
 | #Jigasi w/VOSK backend. | ||||||
|  | if [ "$ENABLE_TRANSCRIPT" = "yes" ]; then | ||||||
|  |     printf "\nJigasi with VOSK backend will be enabled." | ||||||
|  |     if [ "$MODE" = "debug" ]; then | ||||||
|  |         bash "$PWD"/jigasi-vosk-backend.sh -m debug | ||||||
|  |     else | ||||||
|  |         bash "$PWD"/jigasi-vosk-backend.sh | ||||||
|  |     fi | ||||||
|  | fi | ||||||
|  | sleep .1 | ||||||
| #Grafana Dashboard | #Grafana Dashboard | ||||||
| if [ "$ENABLE_GRAFANA_DSH" = "yes" ]; then | if [ "$ENABLE_GRAFANA_DSH" = "yes" ]; then | ||||||
|     printf "\nGrafana Dashboard will be enabled." |     printf "\nGrafana Dashboard will be enabled." | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue