Fehlende Proxy-Manager-Anmeldung: nach Lage erklaeren statt nur melden

"Ich dachte, der nginx legt die an" - eine berechtigte Erwartung, die
seit NPM 2.15 nicht mehr stimmt. Die Meldung sagte zwar, WAS fehlt, aber
nicht, was im jeweiligen Zustand zu tun ist.

npm_api_token sieht jetzt nach, ob data/npm/data/database.sqlite schon
existiert, und unterscheidet:

  keine Datenbank   Zugangsdaten setzen und "up" - der Container legt
                    das Konto daraus selbst an
  Datenbank da      Die Variablen wirken nicht mehr. Konto im Browser
                    anlegen und dieselben Daten mit "config set"
                    eintragen.

Dazu "npm-reset" fuer den sauberen Neuanfang: es legt die Datenbank
beiseite (umbenannt, nicht geloescht), sodass der Container das Konto
beim naechsten Start neu erzeugt. Vorher zeigt es an, was dabei verloren
geht - Proxy-Hosts, Weiterleitungen, Zugriffslisten - und was bleibt:
die Zertifikate. Mit Rueckfrage.

Beide Zweige durchgespielt. In beiden Sprachfassungen dokumentiert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-20 19:16:18 +02:00
co-authored by Claude Opus 5
parent 22331ff114
commit ed768f049b
3 changed files with 134 additions and 8 deletions
+23
View File
@@ -1166,6 +1166,28 @@ angelegt worden, wirken die Variablen nicht mehr (die Datenbank ist nicht mehr
leer). Dann einfach die selbst vergebenen Zugangsdaten eintragen – das Skript
meldet sich damit an.
#### Wenn die Anmeldung fehlt
Fehlen die Zugangsdaten, sagt das Skript je nach Lage, was zu tun ist – es
sieht dafür nach, ob `data/npm/data/database.sqlite` schon existiert:
| Lage | Weg |
|---|---|
| **noch keine Datenbank** | `config set NPM_ADMIN_EMAIL …` und `…_PASSWORD …`, dann `up` – der Container legt das Konto selbst an |
| **Datenbank vorhanden** | Konto im Browser anlegen (`cmk-manage.sh browser`), dieselben Daten anschließend mit `config set` eintragen |
Wer lieber sauber neu beginnt:
```bash
sudo ./scripts/cmk-manage.sh npm-reset
```
Das legt die Datenbank beiseite (umbenannt, nicht gelöscht), sodass der
Container beim nächsten `up` das Konto aus `NPM_ADMIN_EMAIL`/`NPM_ADMIN_PASSWORD`
neu anlegt. **Proxy-Hosts, Weiterleitungen und Zugriffslisten sind damit weg**
– die Zertifikate bleiben. Das Kommando zeigt vorher genau das an und fragt
nach. Die Proxy-Hosts lassen sich mit `proxy add` in einem Aufruf neu anlegen.
### 10.2 Proxy-Host anlegen – ohne Browser
Die Weboberfläche lässt sich im Terminal-Browser nur mühsam bedienen; Formulare
@@ -1997,6 +2019,7 @@ Eine Dateiauswahl mit Verzeichnisnavigation ist eingebaut.
| `config list\|get\|set\|edit` | Einstellungen der `.env` anzeigen und ändern |
| `npm-port [PORT]` | Port der Proxy-Manager-Oberfläche setzen/anzeigen |
| `npm-enable [on\|off]` | Proxy Manager ein-/ausschalten (Daten bleiben erhalten) |
| `npm-reset` | Datenbank beiseitelegen, damit das Konto neu entsteht |
| `proxy status\|list\|certs\|add\|del` | Proxy-Hosts über die API anlegen und verwalten |
| `cert …` | selbstsigniertes Zertifikat erzeugen |
| `shell` | Root-Shell im Checkmk-Container |