secondary (Multi-Site), dns-public.sh

This commit is contained in:
Claude
2026-10-13 07:22:29 +00:00
parent dbd6a61414
commit e410be21aa
3 changed files with 44 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Zweiter Standort (Multi-Site, D-21): sekundaerer Nameserver, der die Zone per AXFR vom Primaer uebernimmt.
# Eigenes Compose-Projekt, beruehrt nichts anderes auf dem Server.
# Pflicht: GC_SECONDARY="zone@primaer-ip:53" Optional: GC_BIND_IP (Standard 0.0.0.0; z. B. oeffentliche IP, wenn 127.0.0.53:53 belegt ist)
name: ${GC_PROJECT:-gamerpub-de}
services:
dns:
image: git1.mrmoe.de/mscadm/gc-dns-server:latest
container_name: ${GC_PROJECT:-gamerpub-de}-dns
restart: unless-stopped
cap_add: [NET_BIND_SERVICE]
ports:
- "${GC_BIND_IP:-0.0.0.0}:53:53/udp"
- "${GC_BIND_IP:-0.0.0.0}:53:53/tcp"
environment:
GC_DNS_PORT: "53"
GC_DNS_REST_PORT: "8553"
GC_DNS_DB: "/var/lib/gc-dns/zone.db"
GC_DNS_SECONDARY: "${GC_SECONDARY:?GC_SECONDARY=zone@primaer-ip:53 setzen}"
GC_DNS_REFRESH_SECS: "${GC_REFRESH_SECS:-60}"
RUST_LOG: "gc_dns_server=info,axum=warn,info"
volumes:
- dns-data:/var/lib/gc-dns
volumes:
dns-data:
+18
View File
@@ -0,0 +1,18 @@
#!/bin/sh
# Zweiten Standort beitreten (sekundaerer DNS). Ein Aufruf, idempotent.
# GC_SECONDARY="gamerpub.de@187.77.64.208:53" GC_BIND_IP=<oeffentliche-IP> sh join.sh
# Das Projekt heisst gamerpub-de (GC_PROJECT aenderbar). Beruehrt keine anderen Container, Netze oder Systemeinstellungen.
set -eu
: "${GC_SECONDARY:?GC_SECONDARY=zone@primaer-ip:53 setzen}"
P="${GC_PROJECT:-gamerpub-de}"
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
docker compose pull -q
docker compose up -d
sleep 3
docker compose ps
docker logs --tail 5 "${P}-dns" 2>&1 | cut -c1-160