2
0

10-config 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/with-contenv bash
  2. if [[ -z $JIBRI_RECORDER_PASSWORD || -z $JIBRI_XMPP_PASSWORD ]]; then
  3. echo 'FATAL ERROR: Jibri recorder password and auth password must be set'
  4. exit 1
  5. fi
  6. # DISPLAY is necessary for start
  7. [ -z "${DISPLAY}" ] \
  8. && ( echo -e "\e[31mERROR: Please set DISPLAY variable.\e[39m"; kill 1; exit 1 )
  9. # check loaded snd_aloop module and exit if is not loaded on the host
  10. [ -z "$(lsmod | grep -om1 snd_aloop)" ] \
  11. && ( echo -e "\e[31mERROR: Please load snd-aloop module on the docker host.\e[39m"; kill 1; exit 1 )
  12. # get host's audio group id
  13. host_audio_group="$(stat -c %g /dev/snd/pcmC0D0p)"
  14. # try to create group with this id. If group with the id already exists, just skip
  15. groupadd -g ${host_audio_group} jibri-audio >/dev/null 2>&1
  16. # include user to the group by id
  17. usermod -aG ${host_audio_group} jibri
  18. # script for finalizing must have executing bit.
  19. [ ! -z "${JIBRI_FINALIZE_RECORDING_SCRIPT_PATH}" ] \
  20. && [ ! -x "${JIBRI_FINALIZE_RECORDING_SCRIPT_PATH}" ] \
  21. && chmod +x ${JIBRI_FINALIZE_RECORDING_SCRIPT_PATH}
  22. # set rundom jibri nickname for the instance if is not set
  23. [ -z "${JIBRI_INSTANCE_ID}" ] && export JIBRI_INSTANCE_ID=$(date +%N)
  24. # always recreate configs
  25. tpl /defaults/config.json > /etc/jitsi/jibri/config.json
  26. tpl /defaults/logging.properties > /etc/jitsi/jibri/logging.properties
  27. # make recording dir
  28. [ -z "${JIBRI_RECORDING_DIR}" ] && export JIBRI_RECORDING_DIR=/config/recordings
  29. mkdir -p ${JIBRI_RECORDING_DIR}
  30. chown -R jibri ${JIBRI_RECORDING_DIR}
  31. # make logs dir
  32. [ -z "${JIBRI_LOGS_DIR}" ] && export JIBRI_LOGS_DIR=/config/logs
  33. mkdir -p ${JIBRI_LOGS_DIR}
  34. chown -R jibri ${JIBRI_LOGS_DIR}