Files
lernbar/scripts/betrieb/lernbar-portsperre.sh
T
Florian WildeandClaude Opus 5.5 ead4cdf195 Betrieb hinter einem vorhandenen Reverse Proxy
Die Adresse, auf der Docker Port 3000 veroeffentlicht, ist ueber
LERNBAR_ADRESSE in .env einstellbar; Vorgabe bleibt 127.0.0.1. Noetig,
wenn der Reverse Proxy - etwa ein Nginx Proxy Manager - auf einem anderen
Rechner laeuft.

Docker-Ports laufen an ufw vorbei. lernbar-portsperre setzt deshalb in
DOCKER-USER eine Regel, die Port 3000 nur fuer den Proxy oeffnet, und
laesst sich beliebig oft ausfuehren (in einem Debian-13-Container
geprueft). Dazu ein systemd-Dienst, der sie nach Docker setzt.

Abschnitt 6b der Betriebsanleitung beschreibt Einrichtung und Proxy-Host.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:35:31 +02:00

11 lines
530 B
Bash
Executable File

#!/bin/sh
# Port 3000 der Lern-Bar nur für den Reverse Proxy öffnen.
# Docker-Ports laufen an ufw vorbei, deshalb die Kette DOCKER-USER, die Docker
# selbst vor seinen eigenen Regeln auswertet und nie überschreibt.
set -eu
PROXY="${1:?Aufruf: lernbar-portsperre <Adresse des Reverse Proxy>}"
REGEL="-p tcp -m conntrack --ctorigdstport 3000 --ctdir ORIGINAL ! -s $PROXY -j DROP"
iptables -N DOCKER-USER 2>/dev/null || true
# shellcheck disable=SC2086
iptables -C DOCKER-USER $REGEL 2>/dev/null || iptables -I DOCKER-USER $REGEL