Initial commit: appRobotHoming
This commit is contained in:
57
README.md
Executable file
57
README.md
Executable file
@@ -0,0 +1,57 @@
|
||||
# appRobotHoming
|
||||
|
||||
Eine kleine Node.js-App mit HTTPS-Frontend (5 Buttons + Textfeld) und Backend, das sich mit einem konfigurierbaren **WSS** (WebSocket Secure) verbindet. Die Buttons senden Befehle an den WSS, und das Textfeld zeigt eingehende Nachrichten/Logs an.
|
||||
|
||||
## Features
|
||||
- **HTTPS**-Server wird automatisch mit **selbstsignierten Zertifikaten** betrieben.
|
||||
- **Postinstall-Task** erstellt bei `npm install` die Zertifikate unter `./certs`.
|
||||
- **WSS-Client** mit Auto-Reconnect und optionaler TLS-Validierung (in `.env` steuerbar).
|
||||
- **SSE** (Server-Sent Events) für Live-Logs im Browser.
|
||||
|
||||
## Schnellstart
|
||||
```bash
|
||||
# 1) Abhängigkeiten installieren und Zertifikate erzeugen
|
||||
npm install
|
||||
|
||||
# 2) (Optional) .env anlegen, basierend auf .env.sample
|
||||
cp .env.sample .env
|
||||
# Werte nach Bedarf anpassen
|
||||
|
||||
# 3) Starten
|
||||
npm run dev # mit Nodemon
|
||||
# oder
|
||||
npm start # ohne Nodemon
|
||||
```
|
||||
|
||||
Öffne danach: https://localhost:8443
|
||||
(Da selbstsigniert, musst du dem Zertifikat im Browser einmalig vertrauen.)
|
||||
|
||||
## Konfiguration (`.env`)
|
||||
Siehe `.env.sample` für alle verfügbaren Variablen:
|
||||
- `HTTPS_PORT` (Standard: `8443`)
|
||||
- `WSS_URL` (z. B. `wss://localhost:9001`)
|
||||
- `WSS_INSECURE_TLS` (`true|false`) – bei selbstsignierten Upstream-Zertifikaten oft `true`
|
||||
- `HTTPS_HOST` (CN für das Zertifikat, Standard: `localhost`)
|
||||
- `HTTPS_CERT_DAYS` (Gültigkeitsdauer des selbstsignierten Zertifikats in Tagen)
|
||||
- `ALLOWED_COMMANDS` (kommasepariert; nur diese Kommandos akzeptiert das Backend)
|
||||
|
||||
## Sicherheitshinweise
|
||||
- Die Inhalte des Verzeichnisses `certs/` sowie `.env` sind **absichtlich** in `.gitignore` eingetragen und werden nicht in Gitea eingecheckt.
|
||||
- In Entwicklungsumgebungen kann `WSS_INSECURE_TLS=true` nötig sein. In Produktion **deaktivieren** und echte Zertifikate verwenden.
|
||||
|
||||
## Ordnerstruktur
|
||||
```
|
||||
appRobotHoming/
|
||||
├─ public/ # Statisches Frontend (HTML/JS/CSS)
|
||||
├─ src/ # Backend-Quellcode
|
||||
├─ scripts/ # Utility-Skripte (z. B. Zertifikatserzeugung)
|
||||
├─ certs/ # (auto-generiert) selbstsignierte Zertifikate
|
||||
├─ .gitignore
|
||||
├─ .env.sample
|
||||
├─ package.json
|
||||
└─ README.md
|
||||
```
|
||||
|
||||
## Gitea-Upload
|
||||
- Committe den Code **ohne** `certs/` und **ohne** `.env`.
|
||||
- Nach dem Klonen auf einem anderen System einfach `npm install` ausführen – die Zertifikate werden wieder neu erzeugt.
|
||||
Reference in New Issue
Block a user