diff --git a/dd-ctl b/dd-ctl index 948efa1..10403f4 100755 --- a/dd-ctl +++ b/dd-ctl @@ -152,7 +152,16 @@ setup_nextcloud(){ docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings app:install polls docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings app:install calendar docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings app:install spreed + + # Big Blue Button docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings app:install bbb + # Disable Big Blue Button media check by default + docker exec -u www-data isard-apps-nextcloud-app php occ config:app:set bbb join.mediaCheck --value="false" + # Disable Big Blue Button listen only mode by default + docker exec isard-apps-nextcloud-app sed -i.orig 's/^\(\s*$room->setListenOnly(\)true\();\)$/\1false\2/' /var/www/html/custom_apps/bbb/lib/Service/RoomService.php + # Enable option to join muted to Big Blue Button room by default + docker exec isard-apps-nextcloud-app sed -i 's/^\(\s*$room->setJoinMuted(\)false\();\)$/\1true\2/' /var/www/html/custom_apps/bbb/lib/Service/RoomService.php + docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings config:system:set theme --value=digitaldemocratic docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings config:system:set allow_local_remote_servers --value=true docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings maintenance:theme:update diff --git a/sysadm/mail-accounts.sh b/sysadm/mail-accounts.sh new file mode 100755 index 0000000..88a7553 --- /dev/null +++ b/sysadm/mail-accounts.sh @@ -0,0 +1,34 @@ +#!/bin/bash -e +# bash due ${email:0:64} + +# Script to create mailu email accounts from keycloak users and configure nextcloud email app + +if [ -z "$1" -o -z "$2" -o -z "$3" ] +then + echo "Usage: $0 " >&2 + exit 1 +fi + +DD_SERVER=$1 +EMAIL_DOMAIN=$2 +MAILU_SERVER=$3 + +PASSWORD_FILE="$EMAIL_DOMAIN.passwords.$(date -Is)" +ssh root@$DD_SERVER "docker exec isard-apps-postgresql psql -U admin -d keycloak -tA -c 'select username from user_entity'" | while read user +do + email="$user@$EMAIL_DOMAIN" + if ! ssh -nT root@$MAILU_SERVER "cd /mailu && docker-compose -p mailu exec -T -u postgres database psql -d mailu -tA -c \"select email from public.user where email = '$user@$EMAIL_DOMAIN';\"" | grep -q "^$user@$EMAIL_DOMAIN$" + then + pass=$(diceware) + if ssh -nT root@$DD_SERVER "docker exec -u www-data isard-apps-nextcloud-app php occ mail:account:create $user $user ${email:0:64} $MAILU_SERVER 993 ssl $email $pass $MAILU_SERVER 587 tls $email $pass" + then + if ssh -nT root@$MAILU_SERVER "cd /mailu && docker-compose -p mailu exec -T admin flask mailu user $user $EMAIL_DOMAIN $pass" + then + echo "$email $pass" >> $PASSWORD_FILE + else + echo "Error creating email account $email" >&2 + exit 1 + fi + fi + fi +done