HTTPS im lokalen Netz (Port 8443, selbstsigniertes Zertifikat, optional mkcert)

This commit is contained in:
2026-07-19 16:03:29 +02:00
parent fc1ea4fa70
commit a695159b1d
8 changed files with 185 additions and 34 deletions

View File

@@ -14,9 +14,60 @@ cp .env.example .env # optional anpassen, siehe unten
docker compose up -d --build
```
- Frontend: http://localhost:8080
- Frontend: http://localhost:8080 (HTTPS: https://localhost:8443, siehe unten)
- Backend / Health-API: http://localhost:3001/api/health
## HTTPS im lokalen Netz
LaunchPad ist per HTTPS auf Port `8443` erreichbar (`https://<deine-ip>:8443`),
zusätzlich zu HTTP auf `8080` kein erzwungener Redirect. Beim ersten Start
erzeugt der Frontend-Container automatisch ein selbstsigniertes Zertifikat für
die in `.env` hinterlegte `LAUNCHPAD_HOST` (IP oder Hostname). Der Browser
zeigt dafür trotzdem eine Sicherheitswarnung das ist bei selbstsignierten
Zertifikaten normal, nicht per se unsicher fürs eigene LAN.
```bash
# .env: IP/Hostname eintragen, unter der du zugreifst
LAUNCHPAD_HOST=192.168.1.49
docker compose up -d --force-recreate frontend
```
Danach: `https://192.168.1.49:8443` (Warnung einmalig bestätigen/Ausnahme
hinzufügen).
### Ohne Browser-Warnung (empfohlen): eigenes Zertifikat per mkcert
[mkcert](https://github.com/FiloSottile/mkcert) erzeugt lokal vertrauenswürdige
Zertifikate dein Browser vertraut ihnen automatisch, keine Warnung mehr.
```bash
# Einmalig auf dem Rechner, von dem aus du zugreifst (nicht auf dem Server):
mkcert -install
# Zertifikat für IP/Hostname erzeugen:
mkcert -cert-file fullchain.pem -key-file privkey.pem 192.168.1.49 launchpad.home localhost 127.0.0.1
```
Die beiden erzeugten Dateien nach `/opt/LaunchPad/certs/` kopieren, dann in
`docker-compose.yml` die auskommentierten `volumes:`-Zeilen beim
`frontend`-Service aktivieren:
```yaml
volumes:
- ./certs/fullchain.pem:/etc/nginx/certs/fullchain.pem:ro
- ./certs/privkey.pem:/etc/nginx/certs/privkey.pem:ro
```
```bash
docker compose up -d --force-recreate frontend
```
`mkcert -install` legt eine lokale Root-CA an, der nur *dieser* Rechner
vertraut. Für weitere Geräte (Handy etc.) muss die Root-CA
(`mkcert -CAROOT` zeigt den Pfad) dort zusätzlich installiert werden, oder es
bleibt bei der Browser-Warnung des automatisch generierten Zertifikats.
## Quickstart (lokale Entwicklung)
Voraussetzungen: Node.js ≥ 20, pnpm ≥ 9.