#!/usr/bin/env bash set -e wait_wg() { local c="$1" for i in {1..20}; do if docker exec "$c" ip link show awg0 >/dev/null 2>&1; then return 0 fi sleep 1 done return 1 } docker events --filter event=start --format '{{.Actor.Attributes.name}}' | while read name; do if [[ "$name" == "amnezia-awg2" || "$name" == "amnezia-awg" ]]; then echo "[watcher] container started: $name, waiting wg..." if wait_wg "$name"; then echo "[watcher] wg ready, applying limits" WG_IF=awg0 /opt/amnezia/limit_peers.sh else echo "[watcher] wg not appeared, skip" fi fi done