10-config 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/usr/bin/with-contenv bash
  2. export SENTRY_RELEASE="${SENTRY_RELEASE:-$(apt-cache policy jigasi | sed -n '/Installed/p' | sed -e 's/[^:]*: //')}"
  3. if [[ -z $JIGASI_XMPP_PASSWORD ]]; then
  4. echo 'FATAL ERROR: Jigasi auth password must be set'
  5. exit 1
  6. fi
  7. OLD_JIGASI_XMPP_PASSWORD=passw0rd
  8. if [[ "$JIGASI_XMPP_PASSWORD" == "$OLD_JIGASI_XMPP_PASSWORD" ]]; then
  9. echo 'FATAL ERROR: Jigasi auth password must be changed, check the README'
  10. exit 1
  11. fi
  12. # set random jigasi nickname for the instance if is not set
  13. [ -z "${JIGASI_INSTANCE_ID}" ] && export JIGASI_INSTANCE_ID="jigasi-$(date +%N)"
  14. # check for AUTOSCALER_URL, AUTOSCALER_SIDECAR_KEY_FILE and AUTOSCALER_SIDECAR_KEY_ID as indicator that sidecar should be enabled
  15. if [ -n "$AUTOSCALER_URL" ]; then
  16. if [ -z "$AUTOSCALER_SIDECAR_KEY_FILE" ]; then
  17. export AUTOSCALER_SIDECAR_KEY_FILE="/etc/jitsi/autoscaler-sidecar/asap.pem"
  18. fi
  19. if [ -z "$AUTOSCALER_SIDECAR_KEY_ID" ]; then
  20. # assume key id is equal to the base real path of the key file minus .pem
  21. export AUTOSCALER_SIDECAR_KEY_ID="$(basename "$(realpath "$AUTOSCALER_SIDECAR_KEY_FILE")" | tr -d '.pem')"
  22. fi
  23. if [ -f "$AUTOSCALER_SIDECAR_KEY_FILE" ]; then
  24. echo "AUTOSCALER_URL found, enabling autoscaler sidecar"
  25. export JIGASI_VERSION="$(dpkg -s jigasi | grep Version | awk '{print $2}' | sed 's/..$//')"
  26. [ -z "$AUTOSCALER_SIDECAR_PORT" ] && export AUTOSCALER_SIDECAR_PORT="6000"
  27. [ -z "$AUTOSCALER_SIDECAR_INSTANCE_ID" ] && export AUTOSCALER_SIDECAR_INSTANCE_ID="$JIGASI_INSTANCE_ID"
  28. [ -z "$AUTOSCALER_SIDECAR_REGION" ] && export AUTOSCALER_SIDECAR_REGION="docker"
  29. [ -z "$AUTOSCALER_SIDECAR_GROUP_NAME" ] && export AUTOSCALER_SIDECAR_GROUP_NAME="docker-jigasi"
  30. mkdir -p /etc/jitsi/autoscaler-sidecar
  31. tpl /defaults/autoscaler-sidecar.config > /etc/jitsi/autoscaler-sidecar/config
  32. else
  33. echo "No key file at $AUTOSCALER_SIDECAR_KEY_FILE, leaving autoscaler sidecar disabled"
  34. fi
  35. else
  36. echo "No AUTOSCALER_URL defined, leaving autoscaler sidecar disabled"
  37. fi
  38. tpl /defaults/logging.properties > /config/logging.properties
  39. tpl /defaults/sip-communicator.properties > /config/sip-communicator.properties
  40. if [[ -f /config/custom-sip-communicator.properties ]]; then
  41. cat /config/custom-sip-communicator.properties >> /config/sip-communicator.properties
  42. fi
  43. mkdir -pm777 /tmp/transcripts
  44. chown jigasi:jitsi /tmp/transcripts
  45. # Create Google Cloud Credentials
  46. if [[ $ENABLE_TRANSCRIPTIONS -eq 1 || $ENABLE_TRANSCRIPTIONS == "true" ]]; then
  47. if [[ -z $GC_PROJECT_ID || -z $GC_PRIVATE_KEY_ID || -z $GC_PRIVATE_KEY || -z $GC_CLIENT_EMAIL || -z $GC_CLIENT_ID || -z $GC_CLIENT_CERT_URL ]]; then
  48. echo 'Transcriptions: One or more environment variables are undefined'
  49. exit 1
  50. fi
  51. jq -n \
  52. --arg GC_PROJECT_ID "$GC_PROJECT_ID" \
  53. --arg GC_PRIVATE_KEY_ID "$GC_PRIVATE_KEY_ID" \
  54. --arg GC_PRIVATE_KEY "$GC_PRIVATE_KEY" \
  55. --arg GC_CLIENT_EMAIL "$GC_CLIENT_EMAIL" \
  56. --arg GC_CLIENT_ID "$GC_CLIENT_ID" \
  57. --arg GC_CLIENT_CERT_URL "$GC_CLIENT_CERT_URL" \
  58. '{
  59. type: "service_account",
  60. project_id: $GC_PROJECT_ID,
  61. private_key_id: $GC_PRIVATE_KEY_ID,
  62. private_key: $GC_PRIVATE_KEY,
  63. client_email: $GC_CLIENT_EMAIL,
  64. client_id: $GC_CLIENT_ID,
  65. auth_uri: "https://accounts.google.com/o/oauth2/auth",
  66. token_uri: "https://oauth2.googleapis.com/token",
  67. auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
  68. client_x509_cert_url: $GC_CLIENT_CERT_URL
  69. }' \
  70. > /config/key.json
  71. fi