#!/usr/bin/env sh set -o errexit set -o nounset ADGUARD_ADMIN_USERNAME=${ADGUARD_ADMIN_USERNAME:-admin} mkdir -p /etc/adguard touch /etc/adguard/config.yaml if [ -f /etc/adguard/config.yaml.default ]; then cp /etc/adguard/config.yaml.default /etc/adguard/config.yaml fi password="$(htpasswd -B -C 10 -n -b "$ADGUARD_ADMIN_USERNAME" "$ADGUARD_ADMIN_PASSWORD" | cut -d ':' -f2-)" yq eval -i ".users = [{\"name\": \"$ADGUARD_ADMIN_USERNAME\", \"password\": \"$password\"}]" /etc/adguard/config.yaml LOG_PIPE="$(mktemp -u)" mkfifo "$LOG_PIPE" ( while IFS= read -r line; do if echo "$line" | grep -qEi "\[(WARN|ERROR|FATAL)\]"; then echo "$line" >&2 else echo "$line" fi done < "$LOG_PIPE" ) & exec AdGuardHome \ -c /etc/adguard/config.yaml \ -w /var/lib/adguard \ "$@" > "$LOG_PIPE" 2>&1