secondary (Multi-Site), dns-public.sh
This commit is contained in:
@@ -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:
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user