diff --git a/bin/backuptool b/bin/backuptool index a18bf92..c7807ee 100755 --- a/bin/backuptool +++ b/bin/backuptool @@ -65,7 +65,7 @@ backupservice() { rm /federated/apps/wordpress/dump_$SERVICE.sql.gz else # For all other services, If the postgresql database exists for that service then dump it - if [ ! "`docker exec -it postgresql psql -U $SERVICE -c '\q'`" ]; then + if [ ! "`docker exec -it postgresql psql -U $SERVICE -c '\q' &>/dev/null`" ]; then docker exec postgresql /bin/bash -c "pg_dump $SERVICE -c -U postgres | gzip -9 > /docker-entrypoint-initdb.d/dump_$SERVICE.sql.gz" mv /federated/apps/postgresql/data/docker-entrypoint-initdb.d/dump_$SERVICE.sql.gz /federated/apps/$SERVICE/ fi @@ -103,7 +103,7 @@ backupserviceall() { PASSPHRASE=$GPG_PASSPHRASE duplicity /federated/apps/$i b2://$B2_APPLICATION_KEY_ID:$B2_APPLICATION_KEY@$UUID/$i/ rm /federated/apps/wordpress/dump_$i.sql.gz else - if [ ! "`docker exec -it postgresql psql -U $i -c '\q'`" ]; then + if [ ! "`docker exec -it postgresql psql -U $i -c '\q' &>/dev/null`" ]; then docker exec postgresql /bin/bash -c "pg_dump $i -c -U postgres | gzip -9 > /docker-entrypoint-initdb.d/dump_$i.sql.gz" mv /federated/apps/postgresql/data/docker-entrypoint-initdb.d/dump_$i.sql.gz /federated/apps/$i/ fi diff --git a/lib/coturn.sh b/lib/coturn.sh new file mode 100644 index 0000000..3ace7bb --- /dev/null +++ b/lib/coturn.sh @@ -0,0 +1,87 @@ +#!/bin/bash +# +# CoTurn Service + +PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +config_coturn() { + echo -ne "\n* Configuring /federated/apps/coturn container.." + spin & + SPINPID=$! + + if [ ! -d "/federated/apps/coturn" ]; then + mkdir -p /federated/apps/coturn/data/etc + mkdir -p /federated/apps/coturn/data/var/lib/coturn + chown nobody /federated/apps/coturn/data/var/lib/coturn + fi + +cat > /federated/apps/coturn/docker-compose.yml < /federated/apps/coturn/.env < /federated/apps/coturn/data/etc/turnserver.conf < /dev/null +echo -ne "done." +} +start_coturn() { + # Start service with command to make sure it's up before proceeding + start_service "coturn" "nc -z 172.99.0.34 3478 &> /dev/null" "7" + + kill -9 $SPINPID &> /dev/null + echo -ne "done." +} diff --git a/lib/functions.sh b/lib/functions.sh index f3286e6..a3faccf 100644 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -1,7 +1,7 @@ # Federated Computer functions # Define all services -SERVICES=("pdnsmysql" "pdns" "pdnsadmin" "traefik" "postgresql" "ldap" "mail" "collabora" "nextcloud" "matrix" "element" "listmonk" "vaultwarden" "panel" "wireguard" "jitsi" "baserow" "gitea" "caddy" "autodiscover" "castopod" "wordpress") +SERVICES=("pdnsmysql" "pdns" "pdnsadmin" "traefik" "postgresql" "ldap" "mail" "collabora" "nextcloud" "matrix" "element" "listmonk" "vaultwarden" "panel" "wireguard" "jitsi" "baserow" "gitea" "caddy" "autodiscover" "castopod" "wordpress" "coturn") fail() { echo -ne "FAILED\n\n$1\n\n" diff --git a/lib/matrix.sh b/lib/matrix.sh index 8ff4985..fcdd051 100644 --- a/lib/matrix.sh +++ b/lib/matrix.sh @@ -49,6 +49,7 @@ EOF chmod 600 /federated/apps/matrix/.env LDAP_SECRET=`cat /federated/apps/ldap/.ldap.secret` +COTURN_MATRIX_SECRET=$(create_password); # Generate the matrix homeserver.yaml file docker run --rm -v "/federated/apps/matrix/data/matrix:/data" -e SYNAPSE_SERVER_NAME=matrix.$DOMAIN -e SYNAPSE_REPORT_STATS=yes matrixdotorg/synapse:latest generate &> /dev/null @@ -64,6 +65,10 @@ sed -i 's!args:!!g' /federated/apps/matrix/data/matrix/homeserver.yaml cat >> /federated/apps/matrix/data/matrix/homeserver.yaml <