#!/bin/sh # Zweiten Standort beitreten (sekundaerer DNS). Ein Aufruf, idempotent. # GC_SECONDARY="@:53" GC_BIND_IP= sh join.sh # Das Projekt heisst standardmaessig gc-secondary (GC_PROJECT aenderbar). Beruehrt keine anderen Container, Netze oder Systemeinstellungen. set -eu : "${GC_SECONDARY:?GC_SECONDARY=zone@primaer-ip:53 setzen}" P="${GC_PROJECT:-gc-secondary}" D="${GC_DIR:-$HOME/$P}" mkdir -p "$D" && cd "$D" curl -fsSL https://git1.mrmoe.de/mscadm/ground-control-install/raw/branch/main/secondary/docker-compose.yml -o docker-compose.yml printf 'GC_PROJECT=%s\nGC_SECONDARY=%s\nGC_BIND_IP=%s\n' "$P" "$GC_SECONDARY" "${GC_BIND_IP:-0.0.0.0}" > .env IP="${GC_BIND_IP:-}" if [ -n "$IP" ] && ss -lun 2>/dev/null | awk '{print $5}' | grep -Eq "^($IP|0\.0\.0\.0|\*):53$"; then echo "FEHLER: $IP:53 ist belegt (nicht von uns): "; ss -lunp | grep ':53 ' ; exit 1; fi # Eigene, leere Docker-Konfiguration: das Image ist oeffentlich lesbar; evtl. vorhandene (veraltete) Registry-Logins # des Hosts duerfen den anonymen Pull nicht stoeren und werden nicht veraendert. export DOCKER_CONFIG="$D/.docker"; mkdir -p "$DOCKER_CONFIG" [ -d "$HOME/.docker/cli-plugins" ] && ln -sfn "$HOME/.docker/cli-plugins" "$DOCKER_CONFIG/cli-plugins" || true docker compose pull -q docker compose up -d sleep 3 docker compose ps docker logs --tail 5 "${P}-dns" 2>&1 | cut -c1-160