Fixed backup error handle and added Coturn service
This commit is contained in:
parent
6adf88f6fe
commit
dca49c81ee
@ -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
|
||||
|
87
lib/coturn.sh
Normal file
87
lib/coturn.sh
Normal file
@ -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 <<EOF
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
coturn:
|
||||
image: coturn/coturn:\${IMAGE_VERSION}
|
||||
container_name: coturn
|
||||
hostname: coturn.$DOMAIN
|
||||
domainname: $DOMAIN
|
||||
restart: always
|
||||
networks:
|
||||
federated:
|
||||
ipv4_address: 172.99.0.34
|
||||
env_file:
|
||||
- ./.env
|
||||
volumes:
|
||||
- ./data/etc/turnserver.conf:/etc/turnserver.conf:ro
|
||||
- ./data/var/lib/coturn:/var/lib/coturn
|
||||
ports:
|
||||
- 3478:3478
|
||||
- 3478:3478/udp
|
||||
- 3479:3479
|
||||
- 3479:3479/udp
|
||||
|
||||
networks:
|
||||
federated:
|
||||
external: true
|
||||
EOF
|
||||
|
||||
cat > /federated/apps/coturn/.env <<EOF
|
||||
IMAGE_VERSION="4.6.2"
|
||||
LOG_FILE=stdout
|
||||
PORT=3478
|
||||
ALT_PORT=3479
|
||||
TLS_PORT=5349
|
||||
TLS_ALT_PORT=5350
|
||||
JSON_CONFIG='{"config":["no-auth"]}'
|
||||
EOF
|
||||
chmod 600 /federated/apps/coturn/.env
|
||||
|
||||
COTURN_SECRET=$(create_password);
|
||||
COTURN_MATRIX_SECRET=$(grep turn_shared_secret: /federated/apps/matrix/data/matrix/homeserver.yaml | awk -F\" '{ print $2 }')
|
||||
|
||||
cat > /federated/apps/coturn/data/etc/turnserver.conf <<EOF
|
||||
realm=coturn.$DOMAIN
|
||||
|
||||
user=coturn:$COTURN_SECRET
|
||||
lt-cred-mech
|
||||
|
||||
use-auth-secret
|
||||
static-auth-secret=$COTURN_MATRIX_SECRET
|
||||
|
||||
listening-ip=0.0.0.0
|
||||
listening-port=3478
|
||||
|
||||
# Relay port range limit
|
||||
min-port=49160
|
||||
max-port=49200
|
||||
EOF
|
||||
|
||||
kill -9 $SPINPID &> /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."
|
||||
}
|
@ -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"
|
||||
|
@ -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 <<EOF
|
||||
|
||||
serve_server_wellknown: true
|
||||
turn_uris: [ "turn:turn.$DOMAIN?transport=udp", "turn:turn.$DOMAIN?transport=tcp" ]
|
||||
turn_shared_secret: "$COTURN_MATRIX_SECRET"
|
||||
turn_user_lifetime: 86400000
|
||||
turn_allow_guests: True
|
||||
database:
|
||||
name: psycopg2
|
||||
args:
|
||||
|
Loading…
x
Reference in New Issue
Block a user