From 5ba72c3ff513e82cf2635d6e199b0ceb8196ec3f Mon Sep 17 00:00:00 2001 From: hans Date: Fri, 26 Jun 2026 09:32:32 +0200 Subject: [PATCH] =?UTF-8?q?Home=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Home.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Home.md diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..37806b5 --- /dev/null +++ b/Home.md @@ -0,0 +1,47 @@ +# Homenas Landing Page — Wiki + +Angular-basierte Homelab-Startseite für das lokale Netzwerk (`neugasse.lan`). +Zeigt Self-Hosted-Services aus Directus als Link-Karten an und ermöglicht die Steuerung von Tasmota-Steckdosen direkt aus dem Browser. + +## Seiten + +| Seite | Inhalt | +| --- | --- | +| [Installation & Einrichtung](Installation-und-Einrichtung) | Node.js, Angular CLI, Clone, Ersteinrichtung | +| [Lokale Entwicklung](Lokale-Entwicklung) | ng serve, Dev-Proxy, Debugging | +| [Deployment](Deployment) | ng build, rsync, Docker | +| [Nginx Proxy Manager](Nginx-Proxy-Manager) | Token-Injection, Konfiguration | +| [Tasmota-Steckdosen](Tasmota-Steckdosen) | Konfiguration, neue Steckdosen ergänzen | +| [Sicherheit](Sicherheit) | Token-Handling, .gitignore, Best Practices | + +## Architektur + +``` +Browser (Angular SPA) + │ + │ GET /api/items/landingpage (kein Token im Frontend) + │ GET /api/assets/ + │ GET http://stecker1.neugasse.lan/cm?cmnd=Power + │ GET http://stecker2.neugasse.lan/cm?cmnd=Power + ▼ +Nginx Proxy Manager + │ injiziert: Authorization: Bearer → Directus + │ Tasmota-Geräte werden direkt vom Browser angesprochen (LAN) + ▼ +Nginx-Container (Port 9999) + └── dist/ (Angular Production Build) +``` + +Der Directus API-Token verlässt niemals den Browser — er wird ausschließlich im **Nginx Proxy Manager** als `proxy_set_header` konfiguriert. + +## Stack + +| Komponente | Technologie | +| --- | --- | +| Frontend | Angular 17.1, Bootstrap 5 | +| CMS / API | Directus | +| Steckdosen | Tasmota (HTTP-API) | +| Webserver | nginx:stable-alpine (Docker) | +| Reverse Proxy | Nginx Proxy Manager | +| Node.js | 20 LTS (via nvm) | +| Angular CLI | 21.x | \ No newline at end of file