CallMeTechie
EN Anmelden
Home Produkte Blog Über mich Kontakt

Ports und Netzwerkkonfiguration

🚀 Installation & Setup · Updated vor 1 Monat

1. Voraussetzungen

Hardware

Ressource Minimum Empfohlen
CPU 1 vCPU 2 vCPU
RAM 1 GB 2 GB
Platte 20 GB 40 GB (mehr für ausführliche Activity-Logs und Caddy-Access-Logs)

Software

  • Betriebssystem: Moderne Linux-Distribution (Debian 11+, Ubuntu 22.04+, Fedora, Rocky, Alma, Alpine). Getestet auf Debian 13.
  • Docker Engine: 24.0 oder neuer
  • Docker Compose: v2 (seit Docker Engine 23.0 integriert)
  • WireGuard-Kernelmodul: auf den meisten modernen Kernels vorhanden. Der Container bringt kein externes Install mit, aber WireGuard-Capabilities (NET_ADMIN) müssen dem Container gewährt werden können.

DNS

Bevor der Container gestartet wird, muss ein DNS-A-Record (optional zusätzlich AAAA für IPv6) auf die öffentliche IP des Hosts zeigen:

gate.example.com.   IN  A   198.51.100.42

GateControl nutzt diesen Namen für zwei Zwecke:

  • Admin-UI via GC_BASE_URL — Caddy fordert automatisch beim ersten Start ein Let's-Encrypt-Zertifikat dafür an.
  • WireGuard-Endpunkt, falls du zusätzlich GC_WG_HOST=gate.example.com setzt. (GC_WG_HOST kann auch eine blanke öffentliche IP sein, aber derselbe Hostname vereinfacht Peer-Konfigurationen.)

Jede Domain, für die du später eine Reverse-Proxy-Route einrichtest, braucht einen eigenen A-Record, der auf denselben Host zeigt.

Ports

Port Protokoll Zweck Erreichbar von
80 TCP HTTP → HTTPS Redirect, ACME HTTP-01-Challenge Internet
443 TCP HTTPS für Admin-UI und alle Reverse-Proxy-Routen Internet
443 UDP HTTP/3 (optional, empfohlen) Internet
51820 UDP WireGuard-VPN-Endpunkt Internet
53 TCP/UDP auf 127.0.0.1 und auf der VPN-Gateway-IP (10.8.0.1 per Default) Interner DNS für VPN-Peers nur Container (Loopback + WG-Interface)

Sofern auf dem Host bereits etwas auf 127.0.0.1:53 lauscht (häufige Ursachen: NetworkManager-dnsmasq, libvirt-dnsmasq, bind9), weigert sich der GateControl-Container zu starten. systemd-resolved nutzt 127.0.0.53 und kollidiert nicht. Das Entrypoint-Skript prüft das explizit und beendet sich mit einer klaren Fehlermeldung, falls es einen anderen Listener findet.

Öffne die ersten vier Ports in deiner Cloud-Firewall / iptables / ufw, bevor du den Container startest.


11. Updates

Automatisches Update

cd /opt/gatecontrol
./update.sh

update.sh pullt das neueste Image aus GHCR, erzeugt den Container nur dann neu, wenn tatsächlich ein neues Image gezogen wurde, und loggt nach /var/log/gatecontrol-update.log. Sicher per Cron oder systemd-Timer einplanbar:

# /etc/cron.d/gatecontrol-update
0 3 * * * root /opt/gatecontrol/update.sh

Manuelles Update

cd /opt/gatecontrol
docker compose pull
docker compose up -d

Downtime liegt bei etwa 10–30 Sekunden während Container-Restart und Caddy-Reload des persistierten Zustands. Datenmigration ist nie nötig — Migrationen laufen automatisch beim Container-Start mit Per-Step-Commits, sodass ein gescheiterter Schritt keine erfolgreichen Schritte zurückrollt.

Nach dem Update verifizieren

curl -s http://127.0.0.1:3000/health | jq .version

Der Versions-String muss zum gepullten Tag passen.


Cookie Settings

Wir verwenden Cookies, um Ihre Erfahrung zu verbessern. Essentielle Cookies sind immer aktiv.

Datenschutzerklärung
ESC
↑↓ navigate open esc close