Einstellungen-Seite: .env-Werte in DB (app_state), keine .env mehr
Neue /einstellungen-Seite (Zahnrad im Header) mit allen bisherigen .env-Werten (Ollama, E-Mail, CalDAV, REST-API), gespeichert in SQLite (app_state, cfg:-Prefix). Libs lesen per lib/config.js zur Laufzeit statt beim Start -> Aenderungen wirken sofort, kein Neustart. Bestehende .env wird beim ersten Start einmalig migriert. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -30,20 +30,21 @@ Ablauf:
|
||||
|
||||
### Konfiguration
|
||||
|
||||
Alle Einstellungen (Ollama, E-Mail, Kalender, REST-API) werden in der Weboberfläche
|
||||
unter **„Einstellungen“** (`/einstellungen`, Zahnrad-Symbol im Header) gepflegt und
|
||||
in der Datenbank gespeichert. Änderungen wirken sofort, ein Neustart ist nicht nötig.
|
||||
|
||||
Für die KI-Generierung wird ein Ollama-Cloud-API-Schlüssel benötigt
|
||||
([ollama.com/settings/keys](https://ollama.com/settings/keys)). Am einfachsten über
|
||||
eine (nicht eingecheckte) `.env`-Datei – kopiere `.env.example` nach `.env`:
|
||||
([ollama.com/settings/keys](https://ollama.com/settings/keys)) – trage ihn nach dem
|
||||
ersten Start unter **Einstellungen → Ollama Cloud** ein.
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# in .env eintragen:
|
||||
# OLLAMA_API_KEY=...
|
||||
# OLLAMA_MODEL=gpt-oss:120b # optional, Standard
|
||||
# OLLAMA_HOST=https://ollama.com # optional; z. B. http://localhost:11434 für lokale Ollama
|
||||
npm start
|
||||
# dann im Browser http://localhost:3000/einstellungen öffnen
|
||||
```
|
||||
|
||||
Alternativ als Umgebungsvariable: `export OLLAMA_API_KEY=...`.
|
||||
Bestehende Installationen, die bisher eine `.env`-Datei nutzen, werden beim ersten
|
||||
Start einmalig in die Datenbank migriert; danach wird `.env` nicht mehr benötigt.
|
||||
|
||||
Ohne Schlüssel wird die Bewerbung trotzdem als Entwurf angelegt; die Generierung
|
||||
schlägt dann kontrolliert mit einem Hinweis fehl und kann später per
|
||||
@@ -217,10 +218,10 @@ das Rohdokument unter **`/swagger.json`**.
|
||||
### Authentifizierung
|
||||
|
||||
Jeder Endpunkt (außer `GET /api/v1/health`) erfordert einen API-Key im Header
|
||||
`X-API-Key`. Der Schlüssel wird über die Umgebungsvariable `API_TOKEN` konfiguriert
|
||||
(z. B. in `.env`, siehe `.env.example`). Ist `API_TOKEN` nicht gesetzt, antwortet
|
||||
die API mit `503` – sie gibt nie ungeschützt Daten heraus. Swagger/UI sind
|
||||
auch ohne Token erreichbar (die Dokumentation enthält keine sensiblen Daten).
|
||||
`X-API-Key`. Der Schlüssel wird unter **Einstellungen → REST-API** (`API_TOKEN`)
|
||||
konfiguriert. Ist `API_TOKEN` nicht gesetzt, antwortet die API mit `503` – sie gibt
|
||||
nie ungeschützt Daten heraus. Swagger/UI sind auch ohne Token erreichbar (die
|
||||
Dokumentation enthält keine sensiblen Daten).
|
||||
|
||||
```bash
|
||||
curl -H "X-API-Key: $API_TOKEN" http://localhost:3000/api/v1/applications
|
||||
|
||||
Reference in New Issue
Block a user