#!/bin/sh -e os="$(cat "${__global}/explorer/os")" case "${os}" in devuan|debian) ;; *) echo "Your OS '${os}' is currently not supported." > /dev/stderr exit 1 ;; esac DOMAIN="${__object_id}" ADMIN_EMAIL="$(cat "${__object}/parameter/admin-email")" CHANNEL_LAST_N="$(cat "${__object}/parameter/channel-last-n")" DEFAULT_LANGUAGE="$(cat "${__object}/parameter/default-language")" NOTICE_MESSAGE="$(cat "${__object}/parameter/notice-message")" START_VIDEO_MUTED="$(cat "${__object}/parameter/start-video-muted")" TURN_SERVER="$(cat "${__object}/parameter/turn-server")" VIDEO_CONSTRAINTS="$(cat "${__object}/parameter/video-constraints")" ANALYTICS_SETTINGS="$(cat "${__object}/parameter/analytics-settings")" BRANDING_APP_NAME="$(cat "${__object}/parameter/branding-app-name")" BRANDING_INDEX="$(cat "${__object}/parameter/branding-index")" BRANDING_JSON="$(cat "${__object}/parameter/branding-json")" BRANDING_WATERMARK="$(cat "${__object}/parameter/branding-watermark")" STATE="$(cat "${__object}/parameter/state")" if [ "${BRANDING_INDEX}" = "-" ]; then BRANDING_INDEX="${__object}/stdin" fi if [ -f "${__object}/parameter/enable-third-party-requests" ]; then ENABLE_THIRD_PARTY_REQUESTS="YES" fi if [ -f "${__object}/parameter/disable-audio-levels" ]; then DISABLE_AUDIO_LEVELS="YES" fi if [ -f "${__object}/parameter/secured-domains" ]; then SECURED_DOMAINS="YES" fi if [ -z "${TURN_SERVER}" ]; then TURN_SERVER="${__target_host}" fi if [ -z "${JITSI_HOST}" ]; then JITSI_HOST="${__target_host}" fi if [ -n "${BRANDING_JSON}" ]; then DYNAMIC_BRANDING_URL="/branding.json" fi case "${STATE}" in present) # When adding the domain, Let's Encrypt must come before nginx le_require="" nginx_require="__letsencrypt_cert/${DOMAIN}" ;; absent) # When removing, nginx must come before Let's Encrypt le_require="__file/etc/nginx/sites-enabled/${DOMAIN}.conf" nginx_require="" ;; *) cat >> /dev/stderr <<-EOM Unsupported state '${STATE}', must be 'present' or 'absent'. EOM exit 1 ;; esac # # Deal with certbot # # use object id as domain require="${le_require}" __letsencrypt_cert "${DOMAIN}" \ --state "${STATE}" \ --admin-email "${ADMIN_EMAIL}" \ --deploy-hook "service nginx reload" \ --webroot /usr/share/jitsi-meet # Create virtualhost for nginx # shellcheck source=type/__jitsi_meet_domain/files/nginx.sh . "${__type}/files/nginx.sh" # This defines JITSI_NGINX_CONFIG require="${nginx_require}" __file \ "/etc/nginx/sites-enabled/${DOMAIN}.conf" \ --state "${STATE}" \ --mode 0644 --source "-" <