#!/bin/bash # # Federated Computer Jitsi Service PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin config_jitsi() { echo -ne "\n* Configuring /federated/apps/jitsi container.." spin & SPINPID=$! if [ ! -d "/federated/apps/jitsi" ]; then mkdir -p /federated/apps/jitsi # mkdir -p /federated/apps/jitsi/data/config/keys &> /dev/null # cp -rf /federated/apps/dns/data/etc/letsencrypt/archive/$DOMAIN/*.pem apps/jitsi/data/config/keys # mv /federated/apps/jitsi/data/config/keys/fullchain1.pem apps/jitsi/data/config/keys/cert.crt # mv /federated/apps/jitsi/data/config/keys/privkey1.pem apps/jitsi/data/config/keys/cert.key # chmod 644 /federated/apps/jitsi/data/config/keys/*.pem fi DOMAIN_ARRAY=(${DOMAIN//./ }) DOMAIN_FIRST=${DOMAIN_ARRAY[0]} DOMAIN_LAST=${DOMAIN_ARRAY[1]} # Extract Jitsi into /federated/apps/jitsi tar zxvf /federated/files/jitsi/stable-* --strip-components 1 -C /federated/apps/jitsi &> /dev/null [ $? -ne 0 ] && fail "Couldn't extract files/jitsi/stable* into /federated/apps/jitsi" # Create docker compose file cat > /federated/apps/jitsi/docker-compose.yml < /federated/apps/jitsi/.env < /dev/null echo -ne "done." } start_jitsi() { # Start /federated/apps/jitsi with output to /dev/null echo -ne "\n* Starting /federated/apps/jitsi service.." spin & SPINPID=$! if [ $DEBUG ]; then # Start /federated/apps/jitsi with output to console for debug cd /federated/apps/jitsi && docker-compose -f docker-compose.yml -p jitsi up [ $? -eq 0 ] && echo -ne "done.\n" || fail "There was a problem starting service /federated/apps/jitsi" else cd /federated/apps/jitsi && docker-compose -f docker-compose.yml -p jitsi up -d &> /dev/null # Keep trying jitsi port 443 to make sure it's up # before we proceed RETRY="30" while [ $RETRY -gt 0 ]; do nc -z 172.99.0.25 443 &> /dev/null if [ $? -eq 0 ]; then break else if [ "$RETRY" == 1 ]; then docker-compose -f docker-compose.yml -p jitsi down &> /dev/null kill -9 $SPINPID &> /dev/null fail "There was a problem starting service /federated/apps/jitsi\nCheck the output of 'docker logs jitsi' or turn on\ndebug with -d" fi ((RETRY--)) sleep 7 fi done fi kill -9 $SPINPID &> /dev/null echo -ne "done." }