AUTH_ENABLED an den Container durchreichen
Der Schalter blieb wirkungslos: AUTH_ENABLED stand zwar in der .env und im README, fehlte aber im environment-Block des app-Dienstes. Docker Compose liest die .env nur, um Platzhalter wie \ zu ersetzen - in den Container gelangt ausschliesslich, was unter environment: aufgefuehrt ist. Wer die Anmeldung einschalten wollte, blieb deshalb ohne jede Rueckmeldung im Zustand 'ohne Anmeldung' haengen. Gefunden hat das Florian beim Benutzen. Meine Pruefungen liefen alle gegen 'next start' mit direkt gesetzter Umgebungsvariable und konnten die Luecke zwischen .env und Container deshalb gar nicht sehen. - AUTH_ENABLED steht jetzt im environment des app-Dienstes, mit Hinweis im docker-compose.yml, warum das Ergaenzen dort nicht vergessen werden darf. - Neue Pruefung compose-env.mjs: vergleicht die dokumentierten Variablen mit dem aufgeloesten Compose-Setup und mit der Umgebung des laufenden Containers. Genau diese Klasse von Fehler faellt damit kuenftig auf. - README: Hinweis, dass die .env von git pull nicht angefasst wird und die Zeile in aelteren Installationen fehlt, plus ein Befehl zum Nachpruefen. Geprueft gegen den Container in beiden Stellungen: 63 Pruefungen fuer Anmeldung und Rollen sowie 34 fuer Multi-Domain mit AUTH_ENABLED=true, dazu 293 mit false.
This commit is contained in:
@@ -487,10 +487,26 @@ In der `.env`:
|
|||||||
AUTH_ENABLED=true
|
AUTH_ENABLED=true
|
||||||
```
|
```
|
||||||
|
|
||||||
Danach `docker compose up -d`. Beim nächsten Aufruf erscheint die
|
Danach:
|
||||||
**Ersteinrichtung** und du legst den ersten Administrator an. Diese Seite
|
|
||||||
schließt sich, sobald es einen Benutzer gibt — danach führt sie zur normalen
|
```bash
|
||||||
Anmeldung.
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Beim nächsten Aufruf erscheint die **Ersteinrichtung** und du legst den
|
||||||
|
ersten Administrator an. Diese Seite schließt sich, sobald es einen Benutzer
|
||||||
|
gibt — danach führt sie zur normalen Anmeldung.
|
||||||
|
|
||||||
|
> **Fehlt die Zeile in deiner `.env`?** Die `.env` wird von `git pull` nicht
|
||||||
|
> angefasst — sie gehört bewusst nicht ins Repository. Wurde sie vor
|
||||||
|
> Einführung der Anmeldung angelegt, fehlt `AUTH_ENABLED` darin. Einfach
|
||||||
|
> ergänzen; ohne die Zeile gilt `false`.
|
||||||
|
|
||||||
|
Ob es angekommen ist, zeigt:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose exec app env | grep AUTH_ENABLED
|
||||||
|
```
|
||||||
|
|
||||||
> **Aussperren ist nicht möglich.** Der Schalter steht bewusst in der `.env`
|
> **Aussperren ist nicht möglich.** Der Schalter steht bewusst in der `.env`
|
||||||
> und nicht in der Oberfläche. Wer den Zugang verliert, setzt
|
> und nicht in der Oberfläche. Wer den Zugang verliert, setzt
|
||||||
|
|||||||
@@ -28,9 +28,16 @@ services:
|
|||||||
db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
|
# Achtung beim Ergänzen: Compose liest die .env nur, um Platzhalter wie
|
||||||
|
# ${BASE_URL} zu ersetzen. In den Container gelangt ausschließlich, was
|
||||||
|
# hier aufgeführt ist — eine neue Variable in der .env allein bleibt
|
||||||
|
# wirkungslos.
|
||||||
|
#
|
||||||
# Öffentliche Adresse der App — landet in jedem dynamischen QR-Code.
|
# Öffentliche Adresse der App — landet in jedem dynamischen QR-Code.
|
||||||
BASE_URL: ${BASE_URL:-http://localhost:3000}
|
BASE_URL: ${BASE_URL:-http://localhost:3000}
|
||||||
DATABASE_URL: ${DATABASE_URL}
|
DATABASE_URL: ${DATABASE_URL}
|
||||||
|
# Anmeldung mit Benutzern, Gruppen und Rollen.
|
||||||
|
AUTH_ENABLED: ${AUTH_ENABLED:-false}
|
||||||
ports:
|
ports:
|
||||||
# Direktes Port-Mapping, bewusst ohne Reverse Proxy.
|
# Direktes Port-Mapping, bewusst ohne Reverse Proxy.
|
||||||
- "${APP_PORT:-3000}:3000"
|
- "${APP_PORT:-3000}:3000"
|
||||||
|
|||||||
Reference in New Issue
Block a user