Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9365645f72 |
+23
-7
@@ -19,15 +19,31 @@ AUTH_URL=http://localhost:3000
|
|||||||
# Hinter einem Reverse Proxy auf true setzen.
|
# Hinter einem Reverse Proxy auf true setzen.
|
||||||
AUTH_TRUST_HOST=true
|
AUTH_TRUST_HOST=true
|
||||||
|
|
||||||
# --- Erreichbarkeit ---------------------------------------------------------
|
# --- Erreichbarkeit: HIER MUSST DU DICH ENTSCHEIDEN -------------------------
|
||||||
# Auf welcher Adresse und welchem Port horcht die Anwendung?
|
|
||||||
#
|
#
|
||||||
# Proxy auf DEMSELBEN Server: 127.0.0.1 (Standard, nichts zu tun)
|
# Auf welcher Adresse soll die Anwendung erreichbar sein? Das haengt davon
|
||||||
# Proxy auf einem ANDEREN: die Adresse des privaten Netzes bzw. des
|
# ab, WO dein Reverse Proxy laeuft. Waehl genau eine Zeile aus:
|
||||||
# WireGuard-Tunnels, z.B. 10.0.0.5
|
|
||||||
#
|
#
|
||||||
# 0.0.0.0 nur, wenn eine Firewall den Port ausschliesslich fuer die IP des
|
# Proxy auf DEMSELBEN Server
|
||||||
# Proxy-Servers oeffnet. Die Anwendung beendet kein TLS.
|
# APP_BIND=127.0.0.1
|
||||||
|
# Von aussen kommt niemand heran, nur der Proxy nebenan. Sicherste
|
||||||
|
# Variante - aber ein Proxy auf einem anderen Rechner erreicht die
|
||||||
|
# Anwendung damit NICHT.
|
||||||
|
#
|
||||||
|
# Proxy auf einem ANDEREN Server, privates Netz oder WireGuard vorhanden
|
||||||
|
# APP_BIND=10.0.0.5 <- die Adresse DIESES Servers in dem Netz
|
||||||
|
# Erste Wahl, wenn der Proxy woanders steht.
|
||||||
|
#
|
||||||
|
# Proxy auf einem ANDEREN Server, kein privates Netz
|
||||||
|
# APP_BIND=0.0.0.0
|
||||||
|
# Nur zusammen mit einer Firewallregel, die den Port ausschliesslich
|
||||||
|
# fuer die IP des Proxy-Servers oeffnet:
|
||||||
|
# ufw allow from <IP-des-Proxys> to any port 3000 proto tcp
|
||||||
|
# ufw deny 3000/tcp
|
||||||
|
#
|
||||||
|
# Zwischen Proxy und Anwendung laeuft unverschluesseltes HTTP - die
|
||||||
|
# Anwendung beendet kein TLS. Dieser Weg darf nie durchs offene Netz gehen.
|
||||||
|
# Einzelheiten: docs/INSTALLATION.md, Schritt 7.
|
||||||
APP_BIND=127.0.0.1
|
APP_BIND=127.0.0.1
|
||||||
APP_PORT=3000
|
APP_PORT=3000
|
||||||
|
|
||||||
|
|||||||
+34
-1
@@ -26,6 +26,38 @@ Wiederherstellung*.
|
|||||||
|
|
||||||
_Noch nichts._
|
_Noch nichts._
|
||||||
|
|
||||||
|
## [1.0.3] – 2026-08-22
|
||||||
|
|
||||||
|
Keine Änderung am Programm — nur an der Konfigurationsvorlage und der
|
||||||
|
Anleitung. Ein Neubau des Abbilds ist nicht nötig.
|
||||||
|
|
||||||
|
### Behoben
|
||||||
|
|
||||||
|
- **`.env.example` band die Anwendung stillschweigend an `127.0.0.1`.**
|
||||||
|
Der Wert stand dort als fertig ausgefüllte Zeile zwischen lauter anderen
|
||||||
|
fertigen Zeilen. Wer die Datei kopiert hat und seinen Reverse Proxy auf
|
||||||
|
einem **anderen** Server betreibt, kam nicht an die Anwendung heran —
|
||||||
|
und der Fehler sah aus, als läge es am Proxy.
|
||||||
|
|
||||||
|
Jetzt steht dort eine Entscheidung mit drei benannten Fällen statt eines
|
||||||
|
Vorgabewerts. Der sichere Standard bleibt `127.0.0.1`; er wird nur nicht
|
||||||
|
mehr als „schon erledigt" präsentiert.
|
||||||
|
|
||||||
|
Für bestehende Installationen genügt eine Zeile in der `.env`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
APP_BIND=10.0.0.5 # Adresse, über die der Proxy diesen Server erreicht
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Geändert
|
||||||
|
|
||||||
|
- **`docs/INSTALLATION.md`** nennt `APP_BIND` jetzt schon in Schritt 3, wo
|
||||||
|
die `.env` ausgefüllt wird — nicht erst in Schritt 7, wo der Proxy
|
||||||
|
drankommt. Dazu ein eigener Abschnitt in der Fehlersuche: „Der Proxy
|
||||||
|
erreicht die Anwendung nicht", mit den zwei `curl`-Proben, die den
|
||||||
|
Unterschied zwischen falscher Bindeadresse und Firewall zeigen.
|
||||||
|
|
||||||
## [1.0.2] – 2026-08-22
|
## [1.0.2] – 2026-08-22
|
||||||
|
|
||||||
### Behoben
|
### Behoben
|
||||||
@@ -264,7 +296,8 @@ Was davon wann angegangen wird, steht in [`docs/ROADMAP.md`](docs/ROADMAP.md).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[Unveröffentlicht]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.2...HEAD
|
[Unveröffentlicht]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.3...HEAD
|
||||||
|
[1.0.3]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.2...v1.0.3
|
||||||
[1.0.2]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.1...v1.0.2
|
[1.0.2]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.1...v1.0.2
|
||||||
[1.0.1]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.0...v1.0.1
|
[1.0.1]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/compare/v1.0.0...v1.0.1
|
||||||
[1.0.0]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/releases/tag/v1.0.0
|
[1.0.0]: https://git.wilde-server.de/florian.wilde/betreuungs-cockpit/releases/tag/v1.0.0
|
||||||
|
|||||||
@@ -205,6 +205,14 @@ S3_SECRET_ACCESS_KEY=<aus Schritt 2>
|
|||||||
|
|
||||||
# --- Sicherung ---
|
# --- Sicherung ---
|
||||||
SICHERUNG_PASSWORT=<aus Schritt 2>
|
SICHERUNG_PASSWORT=<aus Schritt 2>
|
||||||
|
|
||||||
|
# --- Erreichbarkeit ---
|
||||||
|
# Steht dein Proxy auf einem ANDEREN Server, muss hier die Adresse hinein,
|
||||||
|
# ueber die er diesen Server erreicht. Bleibt es bei 127.0.0.1, kommt er
|
||||||
|
# NICHT heran - und der Fehler sieht aus, als sei der Proxy schuld.
|
||||||
|
# Welcher Wert der richtige ist, steht in Schritt 7a.
|
||||||
|
APP_BIND=127.0.0.1
|
||||||
|
APP_PORT=3000
|
||||||
```
|
```
|
||||||
|
|
||||||
> **`AUTH_URL` muss exakt der Adresse entsprechen**, unter der du die
|
> **`AUTH_URL` muss exakt der Adresse entsprechen**, unter der du die
|
||||||
@@ -875,6 +883,41 @@ Fehlt eine Umgebungsvariable, sagt die Anwendung beim Start, welche.
|
|||||||
Die `.env` liegt nicht neben der `docker-compose.yml`, oder die Zeile ist
|
Die `.env` liegt nicht neben der `docker-compose.yml`, oder die Zeile ist
|
||||||
leer. Prüf mit dem Befehl aus Schritt 3.
|
leer. Prüf mit dem Befehl aus Schritt 3.
|
||||||
|
|
||||||
|
### Der Proxy erreicht die Anwendung nicht („502", „Connection refused")
|
||||||
|
|
||||||
|
Fast immer steht in der `.env` noch `APP_BIND=127.0.0.1`, während der
|
||||||
|
Proxy auf einem anderen Server läuft. Dann horcht die Anwendung nur auf
|
||||||
|
der Loopback-Adresse — erreichbar ausschließlich vom Anwendungsserver
|
||||||
|
selbst.
|
||||||
|
|
||||||
|
Prüf, worauf sie tatsächlich horcht:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose ps
|
||||||
|
# unter PORTS muss die Adresse stehen, die der Proxy erreicht,
|
||||||
|
# NICHT 127.0.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
Und ob sie überhaupt antwortet — erst lokal, dann vom Proxy-Server aus:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# auf dem Anwendungsserver
|
||||||
|
curl -s http://127.0.0.1:3000/api/gesundheit
|
||||||
|
|
||||||
|
# auf dem Proxy-Server
|
||||||
|
curl -s http://<APP_BIND-Adresse>:3000/api/gesundheit
|
||||||
|
```
|
||||||
|
|
||||||
|
Antwortet der erste, aber nicht der zweite, ist `APP_BIND` falsch oder
|
||||||
|
eine Firewall dazwischen. Setz den richtigen Wert (Schritt 7a) und
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Ein Neubau des Abbilds ist dafür **nicht** nötig — es ist nur eine
|
||||||
|
Umgebungsänderung, der Behälter wird neu erzeugt.
|
||||||
|
|
||||||
### Port 3000 ist schon belegt
|
### Port 3000 ist schon belegt
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "betreuungs-cockpit",
|
"name": "betreuungs-cockpit",
|
||||||
"version": "1.0.2",
|
"version": "1.0.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Arbeits- und Dokumentationswerkzeug fuer die ehrenamtliche rechtliche Betreuung",
|
"description": "Arbeits- und Dokumentationswerkzeug fuer die ehrenamtliche rechtliche Betreuung",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** Muss zur "version" in der package.json passen. */
|
/** Muss zur "version" in der package.json passen. */
|
||||||
export const VERSION = '1.0.2'
|
export const VERSION = '1.0.3'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Kurzer Git-Stand, beim Bauen hineingereicht:
|
* Kurzer Git-Stand, beim Bauen hineingereicht:
|
||||||
|
|||||||
Reference in New Issue
Block a user