diff --git a/kimi.md b/kimi.md index 2894221..595d239 100644 --- a/kimi.md +++ b/kimi.md @@ -93,9 +93,14 @@ tar -czf mp-dist.tar.gz -C dist . - SSH: Port **38592**, Key `Z:\Devel\ssh\priv_ionos_hocks_vps.ppk` (Pageant), Hostkey-Flag zwingend. - **Vorsicht Fail2Ban:** zu viele gescheiterte SSH-Versuche von einer IP führen zu einem Ban (Timeout-Verbindungsbild). Ban aufheben auf dem Server: `fail2ban-client unban --all`. -- Erst-Einrichtung auf dem Server (einmalig): - `mkdir -p /opt/mieterportal` + `docker-compose.yml` und `docker/nginx.conf` dorthin kopieren, - dann `docker compose up -d`. NPM-Proxy-Host `mieterportal.hocks.eu` → Container `mp-portal:80`. +- **Live (seit 02.10.2026):** Container `mp-portal` läuft auf hocks.eu, statisches `dist/` + unter `/opt/mieterportal/dist` (gemountet). NPM-Proxy-Host **id 7** (Datei + `/data/compose/1/data/nginx/proxy_host/7.conf`, DB-Tabelle proxy_host), Zertifikat + **npm-9** (Let's Encrypt, läuft bis 31.12.2026; via certbot/webroot erstellt, liegt im + npm-Container unter `/etc/letsencrypt/live/npm-9/`). HTTP→HTTPS-Redirect aktiv + (HSTS, Block-Exploits, HTTP/2). Änderungen am Proxy-Host im NPM-UI werden die + DB-Konfiguration konsistent halten; manuelle Conf-Edits werden beim nächsten + UI-Speichern überschrieben. - HTML wird mit `no-cache` geliefert (nginx-Config), Assets hash-benannt → Reload genügt. Der eingebettete Kimi-Browser cached hart → beim Testen Cache-Buster anhängen: `?v=X`. @@ -135,11 +140,20 @@ KI-Branding: Logo/Hero/Illustration), Docker-Setup (Dockerfile, nginx, compose), Repo in git.hocks.eu angelegt, Deploy-Workflow + Dark Mode + beispieldaten.py aus dem Schulportal übernommen, mail-server-Struktur angelegt (noch nicht live verkabelt). +**Erledigt 02.10. (v1.0 live):** Deployment auf hocks.eu durchgeführt: Container `mp-portal` +läuft (`/opt/mieterportal`, compose + gemountetes dist), NPM-Proxy-Host id 7 + LE-Zertifikat +npm-9 eingerichtet (per certbot/webroot, DB-Insert, 7.conf aus 5.conf abgeleitet, nginx reload). +Live geprüft: `https://mieterportal.hocks.eu/` → HTTP 200, Titel korrekt, SPA-Routing +(`/mietkonto`) 200, HTTP→HTTPS-Redirect 301, Zertifikat CN=mieterportal.hocks.eu gültig +bis 31.12.2026. Zertifikatsdateien liegen im npm-Container unter `/etc/letsencrypt/live/npm-9/` +(Backup der Zertifikate auf dem Host: `/root/le-mp/`). Fail2Ban-Ban nach frühen +Fehlversuchen ist nach ~40 min automatisch ausgelaufen. + **Offen:** -- Deployment auf hocks.eu ausstehend (SSH-Zugang per Pageant-ppk geklärt; Fail2Ban-Ban - nach früher Fehlversuchen abwarten/aufheben, dann `./deploy.sh`). +- Zertifikatserneuerung prüfen (per 01.12.2026): NPM-Renewer sollte cert 9 über HTTP-Challenge + erneuern; sonst certbot/webroot + Kopie nach npm-9 wiederholen. - Mail-Stack optional einrichten: `mail.env` aus Vorlage befüllen, Relay-Ziel in - `postfix/main.cf` setzen, npm_default-Netz prüfen. + `postfix/main.cf`/`mail.env` setzen, `docker compose up -d --build` im mail-server-Verzeichnis. - Mögliche nächste Schritte: echte Anmeldung + serverseitige Datenbank (PostgreSQL/Node-API), E-Mail-Benachrichtigung bei neuen Schadensmeldungen, Mehrseitigkeit für 50 echte Mietverhältnisse.