dns-public.sh FORCE
This commit is contained in:
+5
-3
@@ -7,11 +7,13 @@ C="${1:-}"
|
|||||||
if [ -z "$C" ]; then
|
if [ -z "$C" ]; then
|
||||||
C=$(docker ps --format '{{.Names}} {{.Ports}}' | awk '/^gc-dns-/ && /:15300->/ {print $1; exit}')
|
C=$(docker ps --format '{{.Names}} {{.Ports}}' | awk '/^gc-dns-/ && /:15300->/ {print $1; exit}')
|
||||||
fi
|
fi
|
||||||
[ -n "$C" ] || { echo "Kein gc-dns-Container mit Port 15300 gefunden (evtl. schon oeffentlich)"; exit 0; }
|
if [ -z "$C" ]; then C=$(docker ps --format '{{.Names}}' | awk '/^gc-dns-/ {print $1; exit}'); fi
|
||||||
if docker port "$C" 53/udp 2>/dev/null | grep -q ':53$'; then echo "$C ist bereits oeffentlich"; exit 0; fi
|
[ -n "$C" ] || { echo "Kein gc-dns-Container gefunden"; exit 0; }
|
||||||
|
# FORCE=1: Container auch dann neu erstellen, wenn er schon oeffentlich ist (z. B. nach Image-Update)
|
||||||
|
if [ "${FORCE:-0}" != "1" ] && docker port "$C" 53/udp 2>/dev/null | grep -q ':53$'; then echo "$C ist bereits oeffentlich (FORCE=1 erstellt ihn mit dem aktuellen Image neu)"; exit 0; fi
|
||||||
|
|
||||||
# Port 53 muss frei sein (Ubuntu: systemd-resolved-Stub belegt 127.0.0.53:53)
|
# Port 53 muss frei sein (Ubuntu: systemd-resolved-Stub belegt 127.0.0.53:53)
|
||||||
if ss -lntu 2>/dev/null | awk '{print $5}' | grep -Eq '(^|:)53$'; then
|
if [ "${FORCE:-0}" != "1" ] && ss -lntu 2>/dev/null | awk '{print $5}' | grep -Eq '(^|:)53$'; then
|
||||||
if [ "${GC_FREE_PORT53:-0}" = "1" ] && [ -d /etc/systemd ]; then
|
if [ "${GC_FREE_PORT53:-0}" = "1" ] && [ -d /etc/systemd ]; then
|
||||||
echo "Gebe Port 53 frei (systemd-resolved Stub-Listener aus)"
|
echo "Gebe Port 53 frei (systemd-resolved Stub-Listener aus)"
|
||||||
mkdir -p /etc/systemd/resolved.conf.d
|
mkdir -p /etc/systemd/resolved.conf.d
|
||||||
|
|||||||
Reference in New Issue
Block a user