diff --git a/README.md b/README.md index bf73506..1a68fc4 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,27 @@ docker volume rm fivemanager_db --- +## Zwei Adressen, nicht eine + +Lite spricht MinIO unter zwei verschiedenen Namen an, und beide muessen +stimmen: + +| Variable | Wert | Wofuer | +|---|---|---| +| `AWS_ENDPOINT` | `http://minio:9000` | Wie Lite die Dateien **hinlegt** — Containername im internen Netz | +| `BUCKET_DOMAIN` | `$PUBLIC_URL/media` | Woraus die **oeffentliche** Adresse gebaut wird, die Lite nach dem Upload zurueckgibt | + +`BUCKET_DOMAIN` steht nicht im README des Projekts, nur in dessen +`.env.template`. Ohne sie kaemen Adressen zurueck, die nur innerhalb von +Docker gelten — der Upload saehe erfolgreich aus, und das Bild waere von +aussen nicht abrufbar. + +Den Bucket legt Lite beim Start selbst an und setzt dabei die oeffentliche +Leserichtlinie (`pkg/storage/s3/s3.go`). Es ueberspringt beides, wenn der +Bucket schon existiert — deshalb legt dieser Stack ihn **nicht** vorher an. + +--- + ## Was hier bewusst fehlt **ClickHouse und Jaeger.** Beide stehen in der Entwicklungs-Compose des diff --git a/docker-compose.local.yml b/docker-compose.local.yml index de295f8..5932ecc 100644 --- a/docker-compose.local.yml +++ b/docker-compose.local.yml @@ -45,22 +45,6 @@ services: timeout: 5s retries: 20 - minio-init: - image: minio/mc:latest - depends_on: - minio: - condition: service_healthy - environment: - MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?bitte setzen} - entrypoint: > - /bin/sh -c " - mc alias set local http://minio:9000 lite $$MINIO_ROOT_PASSWORD && - mc mb --ignore-existing local/media && - mc anonymous set download local/media && - echo 'Bucket media ist bereit' - " - restart: "no" - lite: # ghcr.io, NICHT Docker Hub: dort steht die Reihe bei 0.1.0-beta.16 # still, auf ghcr.io laeuft sie weiter. Die Test-Compose des Projekts @@ -82,7 +66,17 @@ services: AWS_ACCESS_KEY_ID: lite AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:?bitte setzen} AWS_BUCKET: media - AWS_REGION: auto + # Aus der Vorlage des Projekts uebernommen; fuer MinIO ist die Region + # gleichgueltig, das SDK verlangt aber eine. + AWS_REGION: eu-west-1 + + # Woraus die OEFFENTLICHE Adresse gebaut wird, die Lite nach dem Upload + # zurueckgibt. Steht nicht im README, nur in deren .env.template — und + # ohne sie kaemen Adressen zurueck, die nur innerhalb von Docker gelten. + # + # Endpunkt plus Bucket, wie in der Vorlage + # (BUCKET_DOMAIN=http://localhost:9000/lite-dev). + BUCKET_DOMAIN: http://localhost:9000/media ports: - "8080:8080" diff --git a/docker-compose.yml b/docker-compose.yml index 2af0d9a..7d7da2b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,26 +60,6 @@ services: timeout: 5s retries: 12 - # Legt den Bucket an und stellt ihn auf oeffentlich lesbar. Laeuft einmal und - # beendet sich. Ohne diesen Schritt schlaegt der erste Upload fehl, und die - # Meldung nennt den Grund nicht. - minio-init: - image: minio/mc:latest - depends_on: - minio: - condition: service_healthy - environment: - MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?bitte setzen} - entrypoint: > - /bin/sh -c " - mc alias set local http://minio:9000 lite $$MINIO_ROOT_PASSWORD && - mc mb --ignore-existing local/media && - mc anonymous set download local/media && - echo 'Bucket media ist bereit' - " - networks: [internal] - restart: "no" - lite: # ghcr.io, NICHT Docker Hub: dort steht die Reihe bei 0.1.0-beta.16 # still, auf ghcr.io laeuft sie weiter. Die Test-Compose des Projekts @@ -109,7 +89,17 @@ services: AWS_ACCESS_KEY_ID: lite AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:?bitte setzen} AWS_BUCKET: media - AWS_REGION: auto + # Aus der Vorlage des Projekts uebernommen; fuer MinIO ist die Region + # gleichgueltig, das SDK verlangt aber eine. + AWS_REGION: eu-west-1 + + # Woraus die OEFFENTLICHE Adresse gebaut wird, die Lite nach dem Upload + # zurueckgibt. Steht nicht im README, nur in deren .env.template — und + # ohne sie kaemen Adressen zurueck, die nur innerhalb von Docker gelten. + # + # Endpunkt plus Bucket, wie in der Vorlage + # (BUCKET_DOMAIN=http://localhost:9000/lite-dev). + BUCKET_DOMAIN: ${PUBLIC_URL:?bitte setzen}/media networks: [internal] networks: