Menuepunkt: Datenbank des Proxy Managers zuruecksetzen
Das Kommando gab es schon, den Weg dorthin nicht. Jetzt erreichbar unter
Einstellungen -> NGINX Proxy Manager -> ">> Datenbank zuruecksetzen"
und zusaetzlich im Proxy-Hosts-Menue.
Der Dialog fuehrt durch die Sache, statt nur auszufuehren:
* Gibt es noch keine Datenbank, sagt er das und nennt den kuerzeren
Weg (Zugangsdaten setzen, Stack starten).
* Fehlen NPM_ADMIN_EMAIL/-PASSWORD, weist er darauf hin, dass sonst
wieder kein Konto entstuende, und bietet an, sie gleich einzutragen.
* Vor dem Zuruecksetzen zeigt er Dateigroesse, was verloren geht
(Konten, Proxy-Hosts, Weiterleitungen, Zugriffslisten) und was
bleibt (Zertifikate), samt dem Konto, das danach entsteht.
* Anschliessend bietet er an, den Stack gleich zu starten - ohne das
entsteht das Konto naemlich noch nicht.
Beide Zweige durchgespielt: ohne Datenbank meldet er "Nichts
zurueckzusetzen", mit Datenbank legt er sie als database.sqlite.alt-<stamp>
beiseite.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1176,7 +1176,9 @@ sieht dafür nach, ob `data/npm/data/database.sqlite` schon existiert:
|
|||||||
| **noch keine Datenbank** | `config set NPM_ADMIN_EMAIL …` und `…_PASSWORD …`, dann `up` – der Container legt das Konto selbst an |
|
| **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 |
|
| **Datenbank vorhanden** | Konto im Browser anlegen (`cmk-manage.sh browser`), dieselben Daten anschließend mit `config set` eintragen |
|
||||||
|
|
||||||
Wer lieber sauber neu beginnt:
|
Wer lieber sauber neu beginnt – in der Oberfläche unter **Einstellungen →
|
||||||
|
NGINX Proxy Manager → „>> Datenbank zurücksetzen"** oder auch im
|
||||||
|
**Proxy-Hosts**-Menü, auf der Kommandozeile:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo ./scripts/cmk-manage.sh npm-reset
|
sudo ./scripts/cmk-manage.sh npm-reset
|
||||||
|
|||||||
+3
-1
@@ -1175,7 +1175,9 @@ situation – it checks whether `data/npm/data/database.sqlite` already exists:
|
|||||||
| **no database yet** | `config set NPM_ADMIN_EMAIL …` and `…_PASSWORD …`, then `up` – the container creates the account itself |
|
| **no database yet** | `config set NPM_ADMIN_EMAIL …` and `…_PASSWORD …`, then `up` – the container creates the account itself |
|
||||||
| **database present** | create the account in the browser (`cmk-manage.sh browser`), then enter the same credentials with `config set` |
|
| **database present** | create the account in the browser (`cmk-manage.sh browser`), then enter the same credentials with `config set` |
|
||||||
|
|
||||||
To start over cleanly:
|
To start over cleanly – in the interface under **Einstellungen → NGINX Proxy
|
||||||
|
Manager → ">> Datenbank zuruecksetzen"**, or from the **Proxy-Hosts** menu, or
|
||||||
|
on the command line:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo ./scripts/cmk-manage.sh npm-reset
|
sudo ./scripts/cmk-manage.sh npm-reset
|
||||||
|
|||||||
+77
-1
@@ -4754,7 +4754,8 @@ gui_settings_category() {
|
|||||||
items+=("__wizard__" ">> Assistent: Edition, Version, Bezugsweg")
|
items+=("__wizard__" ">> Assistent: Edition, Version, Bezugsweg")
|
||||||
items+=("__test__" ">> Zugangsdaten jetzt pruefen (Registry + Downloadportal)") ;;
|
items+=("__test__" ">> Zugangsdaten jetzt pruefen (Registry + Downloadportal)") ;;
|
||||||
npm) items+=("__proxy__" ">> Proxy-Hosts anlegen/verwalten")
|
npm) items+=("__proxy__" ">> Proxy-Hosts anlegen/verwalten")
|
||||||
items+=("__npm__" ">> Proxy Manager: Stand und Admin-Port anzeigen") ;;
|
items+=("__npm__" ">> Proxy Manager: Stand und Admin-Port anzeigen")
|
||||||
|
items+=("__npmrst__" ">> Datenbank zuruecksetzen (Konto neu anlegen lassen)") ;;
|
||||||
backup) items+=("__jobs__" ">> Backup-Jobs verwalten") ;;
|
backup) items+=("__jobs__" ">> Backup-Jobs verwalten") ;;
|
||||||
esac
|
esac
|
||||||
items+=("back" "zurueck")
|
items+=("back" "zurueck")
|
||||||
@@ -4765,6 +4766,7 @@ gui_settings_category() {
|
|||||||
__get__) gui_image_get || true; continue ;;
|
__get__) gui_image_get || true; continue ;;
|
||||||
__wizard__) gui_image_wizard || true; continue ;;
|
__wizard__) gui_image_wizard || true; continue ;;
|
||||||
__proxy__) gui_proxy_menu || true; continue ;;
|
__proxy__) gui_proxy_menu || true; continue ;;
|
||||||
|
__npmrst__) gui_npm_reset || true; continue ;;
|
||||||
__test__) gui_image_test || true; continue ;;
|
__test__) gui_image_test || true; continue ;;
|
||||||
__jobs__) gui_jobs_menu || true; continue ;;
|
__jobs__) gui_jobs_menu || true; continue ;;
|
||||||
__npm__) local f; f="$(mktemp)"
|
__npm__) local f; f="$(mktemp)"
|
||||||
@@ -4852,6 +4854,78 @@ Trotzdem starten?
|
|||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
# Proxy-Hosts im Menue
|
# Proxy-Hosts im Menue
|
||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
|
# Datenbank des Proxy Managers zuruecksetzen, damit der Container das
|
||||||
|
# Konto beim naechsten Start neu aus NPM_ADMIN_EMAIL/-PASSWORD anlegt.
|
||||||
|
gui_npm_reset() {
|
||||||
|
local d="${NPM_DATA_DIR:-$PROJECT_DIR/data/npm/data}"
|
||||||
|
case "$d" in /*) : ;; *) d="$PROJECT_DIR/${d#./}" ;; esac
|
||||||
|
|
||||||
|
if ! npm_db_exists; then
|
||||||
|
ui_msg "Nichts zurueckzusetzen" \
|
||||||
|
"Der Proxy Manager hat noch keine Datenbank.
|
||||||
|
|
||||||
|
Es genuegt, die Zugangsdaten zu setzen und den Stack zu
|
||||||
|
starten - der Container legt das Konto daraus selbst an:
|
||||||
|
|
||||||
|
Einstellungen -> NGINX Proxy Manager
|
||||||
|
NPM_ADMIN_EMAIL
|
||||||
|
NPM_ADMIN_PASSWORD
|
||||||
|
danach: Stack steuern -> Stack starten"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ohne Zugangsdaten entstuende beim naechsten Start wieder kein Konto
|
||||||
|
if [ -z "${NPM_ADMIN_EMAIL:-}" ] || [ -z "${NPM_ADMIN_PASSWORD:-}" ]; then
|
||||||
|
if ui_yesno "Zugangsdaten fehlen" \
|
||||||
|
"NPM_ADMIN_EMAIL bzw. NPM_ADMIN_PASSWORD sind nicht gesetzt.
|
||||||
|
|
||||||
|
Ohne sie entsteht beim naechsten Start wieder KEIN Konto -
|
||||||
|
der Proxy Manager zeigt dann erneut den Einrichtungsassistenten.
|
||||||
|
|
||||||
|
Jetzt eintragen?"; then
|
||||||
|
gui_settings_edit NPM_ADMIN_EMAIL
|
||||||
|
gui_settings_edit NPM_ADMIN_PASSWORD
|
||||||
|
load_env "${ENV_FILE:-$PROJECT_DIR/.env}"
|
||||||
|
fi
|
||||||
|
if [ -z "${NPM_ADMIN_EMAIL:-}" ] || [ -z "${NPM_ADMIN_PASSWORD:-}" ]; then
|
||||||
|
ui_msg "Abgebrochen" "Ohne Zugangsdaten hat das Zuruecksetzen keinen Zweck."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
local groesse
|
||||||
|
groesse="$(du -h "$d/database.sqlite" 2>/dev/null | cut -f1 || echo '?')"
|
||||||
|
ui_yesno "Datenbank zuruecksetzen" \
|
||||||
|
"Die Datenbank wird beiseitegelegt - umbenannt, nicht geloescht:
|
||||||
|
|
||||||
|
$d/database.sqlite ($groesse)
|
||||||
|
|
||||||
|
${C_BLD}Das ist danach weg${C_RST}
|
||||||
|
Konten, Proxy-Hosts, Weiterleitungen, Zugriffslisten
|
||||||
|
|
||||||
|
${C_BLD}Das bleibt${C_RST}
|
||||||
|
Zertifikate (Let's Encrypt und eigene)
|
||||||
|
|
||||||
|
Beim naechsten Start legt der Container das Konto neu an:
|
||||||
|
${NPM_ADMIN_EMAIL}
|
||||||
|
|
||||||
|
Proxy-Hosts lassen sich anschliessend unter 'Proxy-Hosts'
|
||||||
|
in einem Durchgang neu anlegen.
|
||||||
|
|
||||||
|
Fortfahren?" || return 0
|
||||||
|
|
||||||
|
ui_run "Datenbank zuruecksetzen" bash -c \
|
||||||
|
"cd '$PROJECT_DIR' && NO_COLOR=1 '$SELF' -y npm-reset"
|
||||||
|
|
||||||
|
if ui_yesno "Jetzt starten?" \
|
||||||
|
"Damit das Konto entsteht, muss der Proxy Manager neu starten.
|
||||||
|
|
||||||
|
Stack jetzt starten?"; then
|
||||||
|
ui_run "Stack starten" bash -c "cd '$PROJECT_DIR' && NO_COLOR=1 '$SELF' -y up"
|
||||||
|
fi
|
||||||
|
load_env "${ENV_FILE:-$PROJECT_DIR/.env}"
|
||||||
|
}
|
||||||
|
|
||||||
gui_proxy_menu() {
|
gui_proxy_menu() {
|
||||||
while :; do
|
while :; do
|
||||||
local sel
|
local sel
|
||||||
@@ -4867,6 +4941,7 @@ Ziel : ${PROXY_FORWARD_HOST:-127.0.0.1}:${PROXY_FORWARD_PORT:-5000}" \
|
|||||||
certs "Vorhandene Zertifikate anzeigen" \
|
certs "Vorhandene Zertifikate anzeigen" \
|
||||||
del "Proxy-Host loeschen" \
|
del "Proxy-Host loeschen" \
|
||||||
status "Anmeldung pruefen" \
|
status "Anmeldung pruefen" \
|
||||||
|
reset "Datenbank zuruecksetzen (Konto neu anlegen lassen)" \
|
||||||
back "zurueck")" || return 0
|
back "zurueck")" || return 0
|
||||||
case "$sel" in
|
case "$sel" in
|
||||||
anlegen) gui_proxy_add || true ;;
|
anlegen) gui_proxy_add || true ;;
|
||||||
@@ -4881,6 +4956,7 @@ Ziel : ${PROXY_FORWARD_HOST:-127.0.0.1}:${PROXY_FORWARD_PORT:-5000}" \
|
|||||||
ui_text "Zertifikate" "$f2"; rm -f "$f2" ;;
|
ui_text "Zertifikate" "$f2"; rm -f "$f2" ;;
|
||||||
del) gui_proxy_del || true ;;
|
del) gui_proxy_del || true ;;
|
||||||
status) ui_run "Anmeldung pruefen" bash -c "cd '$PROJECT_DIR' && NO_COLOR=1 '$SELF' proxy status" ;;
|
status) ui_run "Anmeldung pruefen" bash -c "cd '$PROJECT_DIR' && NO_COLOR=1 '$SELF' proxy status" ;;
|
||||||
|
reset) gui_npm_reset || true ;;
|
||||||
back) return 0 ;;
|
back) return 0 ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user