CHANGELOG
versionshistorie — alle änderungen
HISTORY
## [1.5.0] — 12.03.2026 ### Neu: Server-Tool (/server) - Dashboard mit CPU, RAM, Temperatur, Disk-Auslastung (Live-Polling) - Aktionen: Server Reboot, Shutdown, nop.tools Neustarten (mit Bestätigungs-Modal) - Wake-on-LAN: Magic Packet per MAC-Adresse senden - Service-Steuerung: Restart für noptools, Plex, Nginx, Tautulli, SABnzbd, cloudflared - Wartungs-Buttons: DNS Cache leeren, APT Cache leeren, USB Standby deaktivieren - System Log (Live-Terminal-Optik) - Uptime-Anzeige (90-Tage-Blöcke) - Link auf Home-Page (Position 00, vor allen anderen Modulen) ### Geändert - index.html: Server-Tool als Modul 00, Cleaning als Modul 04 ergänzt - Versionsnummern auf Home-Page aktualisiert (Kalender auf v1.4.0) ### Infrastruktur - server_routes.py: Flask Blueprint mit allen /api/server/* Endpunkten - /etc/sudoers.d/noptools-server: passwordlose systemctl/shutdown Befehle ## [1.5.0] — 12.03.2026 ### Neu: Server-Tool (/server) - Dashboard mit CPU, RAM, Temperatur, Disk-Auslastung (Live-Polling) - Aktionen: Server Reboot, Shutdown, nop.tools Neustarten (mit Bestätigungs-Modal) - Wake-on-LAN: Magic Packet per MAC-Adresse senden - Service-Steuerung: Restart für noptools, Plex, Nginx, Tautulli, SABnzbd, cloudflared - Wartungs-Buttons: DNS Cache leeren, APT Cache leeren, USB Standby deaktivieren - System Log (Live-Terminal-Optik) - Uptime-Anzeige (90-Tage-Blöcke) - Link auf Home-Page (Position 00, vor allen anderen Modulen) ### Geändert - index.html: Server-Tool als Modul 00, Cleaning als Modul 04 ergänzt - Versionsnummern auf Home-Page aktualisiert (Kalender auf v1.4.0) ### Infrastruktur - server_routes.py: Flask Blueprint mit allen /api/server/* Endpunkten - /etc/sudoers.d/noptools-server: passwordlose systemctl/shutdown Befehle ## [1.5.0] — 12.03.2026 ### Neu: Server-Tool (/server) - Dashboard mit CPU, RAM, Temperatur, Disk-Auslastung (Live-Polling) - Aktionen: Server Reboot, Shutdown, nop.tools Neustarten (mit Bestätigungs-Modal) - Wake-on-LAN: Magic Packet per MAC-Adresse senden - Service-Steuerung: Restart für noptools, Plex, Nginx, Tautulli, SABnzbd, cloudflared - Wartungs-Buttons: DNS Cache leeren, APT Cache leeren, USB Standby deaktivieren - System Log (Live-Terminal-Optik) - Uptime-Anzeige (90-Tage-Blöcke) - Link auf Home-Page (Position 00, vor allen anderen Modulen) ### Geändert - index.html: Server-Tool als Modul 00, Cleaning als Modul 04 ergänzt - Versionsnummern auf Home-Page aktualisiert (Kalender auf v1.4.0) ### Infrastruktur - server_routes.py: Flask Blueprint mit allen /api/server/* Endpunkten - /etc/sudoers.d/noptools-server: passwordlose systemctl/shutdown Befehle # nop.tools/web — CHANGELOG ## [1.5.0] — 2026-03-19 ### Neu - **Marco-Scheduler** (/marco) — PIN-geschuetzter Wochenplan mit Ampel-System - **Tasks** (/tasks) — Multi-User Aufgaben-Manager mit Rollen + AI Prioritaets-Coach ## [1.4.2] — 2026-03-18 ### Fix - **Timezone-Normalisierung** — Alle Calendar-Events werden vor dem Sortieren auf Europe/Berlin normalisiert. Behebt `can't compare offset-naive and offset-aware datetimes` Crash der `/api/kalender` Route ## [1.4.1] — 2026-03-18 ### Fix - **Kalender API Crash-Schutz** — `/api/kalender` Route hat jetzt try/except, gibt bei Fehlern gültiges JSON zurück statt HTML-Fehlerseite - **Frontend Error Handling** — `loadEntries()` prüft `r.ok` vor JSON-Parse, zeigt gelbes Warning-Banner bei Kalender-Fehlern (z.B. 404-URLs) ## [1.2.0] — 2026-03-10 ### Hinzugefuegt - 15 CalDAV-URLs fuer alle Artists in config.json (PIERCING, RAMIRO, ANDREW, KONSTANTIN, NATALIIA, OLEG, VIO, JOHN, WOJTEK, TIMOFEY, YAUHENABU, ANDERE GAESTE, MIHAILS, BIANCA, ANGELA) - Tattoo Booking nutzt jetzt Artist-spezifische CalDAV-URLs statt public ICS ### Behoben - Tattoo Booking CalDAV 400 Error (gleicher Fix wie Piercing - CalDAV statt ICS URL) ## [1.1.1] — 2026-03-10 ### Behoben - Piercing Booking: CalDAV PUT nutzt jetzt `config.json` CalDAV-URL statt public ICS-URL (war read-only → 400 Error) ## [1.1.0] — 2026-03-10 ### Hinzugefügt - Claude API als Primary-Replier (Anthropic, claude-sonnet-4) - Automatischer Fallback: Claude → OpenAI und umgekehrt - Model-Auswahl per API-Parameter (`"model": "claude"` oder `"model": "openai"`) - Vollständiges Style-Profil aus 973 echten WhatsApp-Verläufen - Artist-Roster mit 12 Artists (Name, Styles, Instagram) - 8 Inquiry-Kategorien (Termin, Preis, Beratung, Piercing, Walk-In, Cover-Up, Nachstechen, Gutschein) - Studio-Regeln im System-Prompt (Shop-Minimum 100€, Nachstechen kostenlos, keine Fixpreise) - `/api/info` Endpoint (API-Status, Artists, Kategorien, Version) - 3 Antwort-Varianten (kurz/standard/ausführlich) ### Geändert - System-Prompt komplett überarbeitet (generisch → Matze-Stil mit echten Phrasen und Emojis) - Replier gibt jetzt `model`-Feld in Response zurück ## [1.0.0] — 2026-03-08 ### Initial Release (Sonnet Session) - Flask Web-App auf Port 8765 - Kalender-Modul: ICS Feed Aggregation für 14 Kalender - Booking Piercing: CalDAV Integration mit Kollisionsprüfung - Booking Tattoo: 6 Artists, 7 Dauer-Optionen - WhatsApp Replier: OpenAI GPT-4o mit Basic-Prompt - Landing Page (index.html) --- # Server-Infrastruktur — CHANGELOG ## [2026-03-10] Session mit Opus 4.6 ### Cloudflare Tunnel - Route für `nop-tools.matzes-server.net` → localhost:8765 hinzugefügt - Route für `code.matzes-server.net` → localhost:8443 hinzugefügt - DNS-Eintrag für `code` gelöscht und via Tunnel-Route neu erstellt - Alle 8 Routes verifiziert (seerr, netdata, glances, home, sabnzbd, tautulli, nop-tools, code) ### Cloudflare Access - 6 Subdomains unter `matzes-server-home` App geschützt (home, netdata, glances, sabnzbd, code, nop-tools) - Separate App `matzes-server-tautulli` für tautulli (6er Limit pro App) - Seerr bewusst ohne Access (öffentlich) - code-server Auth auf `none` gesetzt (Cloudflare Access übernimmt) - Tippfehler `sabnzdb` → `sabnzbd` korrigiert ### Netzwerk - Server Dual-IP: 192.168.68.82 (DSL) + 192.168.88.82 (Kabel) - Default-Gateway auf FritzBox 192.168.88.1 (Kabel, 1000mbit) - Netplan: `/etc/netplan/01-netcfg.yaml` — statisch, kein DHCP - PC Kabel-NIC: 192.168.88.51 (statisch, kein Gateway) ### Server-Tuning - vm.swappiness=10 (permanent in /etc/sysctl.conf) - SABnzbd: host_whitelist = sabnzbd.matzes-server.net, - Plex GPG Key nach /etc/apt/trusted.gpg.d/plex.gpg migriert ### Landing Page - CODE-SERVER als #08 hinzugefügt (IDE Tag) - Service-Counter auf 8/8 aktualisiert ### .env - ANTHROPIC_API_KEY und OPENAI_API_KEY mit korrekten Variablennamen eingetragen (waren vorher ohne Prefix)
✎ FEEDBACK
Modul: —