fix: das externe Netz war fest verdrahtet und existierte nicht

'network proxy declared as external, but could not be found'.

Die Hauptdatei verlangte ein externes Netz , das es auf diesem Server
gar nicht gibt — und die Ergaenzung fuer host.docker.internal half nicht, weil
die Basis es trotzdem forderte. Das war die falsche Reihenfolge: der Weg nach
aussen ist gerade das, was sich je Aufbau unterscheidet, und gehoert damit
nicht in die Basis.

Jetzt ist docker-compose.yml neutral — von aussen nicht erreichbar, und das
ausdruecklich. Dazu waehlt man eine von zwei Ergaenzungen:

  docker-compose.proxynet.yml    Proxy haengt im selben Netz (http://minio:9000)
  docker-compose.hostports.yml   Proxy geht ueber den Host

Die Netzliste dieses Servers zeigt kein , aber ein  — ein
Bridge-Netz ohne Stack, also die uebliche Konvention fuer einen Reverse Proxy.
PROXY_NETWORK steht deshalb auf , mit dem Hinweis, es nachzusehen statt zu
glauben.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 14:30:36 +02:00
co-authored by Claude Opus 5
parent 44822e2831
commit 90df5c8bb1
4 changed files with 83 additions and 26 deletions
+13 -12
View File
@@ -12,10 +12,17 @@
# das Ablegen von Bildern braucht es sie nicht, und ClickHouse ist eine
# schwere Abhaengigkeit. Nachruesten geht spaeter.
#
# Offene Ports. Nur der Reverse Proxy spricht mit der App; Datenbank und
# MinIO bleiben im internen Netz. Zum Ausprobieren gibt es
# docker-compose.local.yml — die macht es andersherum, und dort ist es
# richtig.
# Ein Weg nach aussen. Diese Datei allein ist von aussen NICHT erreichbar —
# das ist Absicht, denn wie der Reverse Proxy die Dienste findet,
# unterscheidet sich je Aufbau. Waehle eine Ergaenzung:
#
# docker-compose.hostports.yml Proxy erreicht die Dienste ueber den Host
# (http://host.docker.internal:9000)
# docker-compose.proxynet.yml Proxy haengt im selben Docker-Netz
# (http://minio:9000) — der sauberere Weg
#
# In Portainer beide Pfade angeben, durch Komma getrennt:
# docker-compose.yml,docker-compose.hostports.yml
services:
db:
@@ -47,7 +54,7 @@ services:
MINIO_SERVER_URL: ${PUBLIC_URL:?bitte setzen}
volumes:
- minio:/data
networks: [internal, proxy]
networks: [internal]
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
@@ -99,17 +106,11 @@ services:
AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:?bitte setzen}
AWS_BUCKET: media
AWS_REGION: auto
networks: [internal, proxy]
# KEIN ports: — der Reverse Proxy erreicht die App ueber das Netz `proxy`.
# Wer hier 8080 aufmacht, hat die Oberflaeche ohne TLS im Internet.
networks: [internal]
networks:
internal:
driver: bridge
proxy:
# Das Netz, in dem der bestehende Reverse Proxy haengt.
name: ${PROXY_NETWORK:-proxy}
external: true
volumes:
db: