fix: an alle Adressen binden, sonst erreicht NPM die Dienste nicht

Ich hatte die Ports an 127.0.0.1 gebunden — enger und auf den ersten Blick
richtiger. Nur erreicht host.docker.internal das auf diesem Server nicht: die
Anfrage kommt aus dem NPM-Container ueber die Docker-Bruecke herein, nicht
ueber Loopback, und ein an 127.0.0.1 gebundener Port nimmt sie nicht an.

Der Beleg stand die ganze Zeit in der Containerliste: d4rkbot (3080),
cdn-files (8090) und portainer sind alle ohne 127.0.0.1-Praefix
veroeffentlicht, und NPM erreicht sie. So laeuft es hier, also laeuft es so.

Damit macht die FIREWALL den Port zu und nicht die Bindung — das steht jetzt
ausdruecklich in beiden Dateien, mitsamt den Befehlen zum Nachsehen. Wer weiss,
dass Loopback bei ihm erreicht wird, setzt BIND_ADDR=127.0.0.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 14:37:14 +02:00
co-authored by Claude Opus 5
parent d0f173d67d
commit c5b66b466a
2 changed files with 30 additions and 12 deletions
+21 -9
View File
@@ -28,20 +28,32 @@
# Belegt waren beim Anlegen: 80, 81, 443, 2224, 3000, 3080, 3478, 8000, 8080,
# 8090, 8443, 9000, 9443, 11000.
#
# GEBUNDEN AN 127.0.0.1, nicht an alle Adressen. Damit ist der Port vom
# Internet aus zu, und nur der Host — und damit NPM — kommt heran.
# GEBUNDEN AN ALLE ADRESSEN, und das ist hier kein Versehen.
#
# Ein Vorbehalt: ob `host.docker.internal` eine Bindung an 127.0.0.1 erreicht,
# haengt an der Docker-Fassung. Unter Linux fuehrt der Weg ueber die
# Docker-Bruecke statt ueber Loopback; dann muss die Bindung 0.0.0.0 lauten und
# die FIREWALL den Port zumachen. Bei d4rkbot auf 3080 funktioniert es — wie es
# dort gebunden ist, sagt `docker port d4rkbot`.
# Zuerst stand hier 127.0.0.1 — enger und auf den ersten Blick richtiger. Nur
# erreicht `host.docker.internal` das auf diesem Server nicht: die Anfrage
# kommt aus dem NPM-Container ueber die Docker-Bruecke herein, nicht ueber
# Loopback, und ein an 127.0.0.1 gebundener Port nimmt sie nicht an.
#
# Der Beleg steht in der Containerliste: d4rkbot (3080), cdn-files (8090) und
# portainer sind alle ohne 127.0.0.1-Praefix veroeffentlicht, und NPM erreicht
# sie. So laeuft es hier, also laeuft es so.
#
# WAS DEN PORT DAMIT ZUMACHT, IST DIE FIREWALL, nicht die Bindung. 9100 und
# 9101 gehoeren von aussen dicht — oeffentlich erreichbar soll nur NPM auf 80
# und 443 sein. Pruefen:
#
# ufw status bzw. was auf diesem Server zustaendig ist
# ss -tlnp | grep -E '9100|9101'
#
# Wer es enger haben will und weiss, dass Loopback bei ihm erreicht wird:
# BIND_ADDR=127.0.0.1
services:
minio:
ports:
- "127.0.0.1:${MINIO_HOST_PORT:-9100}:9000"
- "${BIND_ADDR:-0.0.0.0}:${MINIO_HOST_PORT:-9100}:9000"
lite:
ports:
- "127.0.0.1:${LITE_HOST_PORT:-9101}:8080"
- "${BIND_ADDR:-0.0.0.0}:${LITE_HOST_PORT:-9101}:8080"