#!/bin/bash # # Traefik Service PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /etc/federated config_traefik() { echo -ne "* Configuring traefik container.." if [ ! -d "/federated/apps/traefik" ]; then mkdir -p /federated/apps/traefik/data/letsencrypt fi TRAEFIK_HTTPAUTH_STRING=$(echo `htpasswd -nb admin $ADMINPASS` | sed -e s/\\$/\\$\\$/g) if [[ "${PLUS}" = "true" ]]; then cat > /federated/apps/traefik/docker-compose.yml < /federated/apps/traefik/docker-compose.yml < /federated/apps/traefik/.env < /dev/null && ls /federated/certs/private/*.$DOMAIN.key /federated/certs/certs/*.$DOMAIN.crt &> /dev/null" "10" else start_service "traefik" "traefik-certs-dumper file --version v2 --source /federated/apps/traefik/data/letsencrypt/acme.json --dest /federated/certs &> /dev/null && ls /federated/certs/private/$DOMAIN.key /federated/certs/certs/$DOMAIN.crt &> /dev/null" "10" fi } start_traefik_old() { echo -ne "\n* Starting /federated/apps/traefik service.." spin & SPINPID=$! if [ $DEBUG ]; then # Start /federated/apps/traefik with output to console for debug docker compose -f /federated/apps/traefik/docker-compose.yml -p traefik up [ $? -eq 0 ] && echo -ne "done.\n" || fail "There was a problem starting service /federated/apps/traefik" else # Start /federated/apps/traefik with output to /dev/null docker compose -f /federated/apps/traefik/docker-compose.yml -p traefik up -d &> /dev/null # Keep trying to see that certificates are generated RETRY="20" while [ $RETRY -gt 0 ]; do traefik-certs-dumper file --version v2 --source /federated/apps/traefik/data/letsencrypt/acme.json --dest /federated/certs &> /dev/null # Check if certs are generated ls /federated/certs/private/$DOMAIN.key /federated/certs/certs/$DOMAIN.crt &> /dev/null if [ $? -eq 0 ]; then kill -9 $SPINPID &> /dev/null echo -ne "done." break else if [ "$RETRY" == 1 ]; then docker compose -f /federated/apps/traefik/docker-compose.yml -p traefik down &> /dev/null fail "There was a problem starting service /federated/apps/traefik\nCheck the output of 'docker logs traefik' or turn on\ndebug with -d" fi ((RETRY--)) sleep 9 fi done fi }