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:
+77
-1
@@ -4754,7 +4754,8 @@ gui_settings_category() {
|
||||
items+=("__wizard__" ">> Assistent: Edition, Version, Bezugsweg")
|
||||
items+=("__test__" ">> Zugangsdaten jetzt pruefen (Registry + Downloadportal)") ;;
|
||||
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") ;;
|
||||
esac
|
||||
items+=("back" "zurueck")
|
||||
@@ -4765,6 +4766,7 @@ gui_settings_category() {
|
||||
__get__) gui_image_get || true; continue ;;
|
||||
__wizard__) gui_image_wizard || true; continue ;;
|
||||
__proxy__) gui_proxy_menu || true; continue ;;
|
||||
__npmrst__) gui_npm_reset || true; continue ;;
|
||||
__test__) gui_image_test || true; continue ;;
|
||||
__jobs__) gui_jobs_menu || true; continue ;;
|
||||
__npm__) local f; f="$(mktemp)"
|
||||
@@ -4852,6 +4854,78 @@ Trotzdem starten?
|
||||
# ---------------------------------------------------------------------
|
||||
# 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() {
|
||||
while :; do
|
||||
local sel
|
||||
@@ -4867,6 +4941,7 @@ Ziel : ${PROXY_FORWARD_HOST:-127.0.0.1}:${PROXY_FORWARD_PORT:-5000}" \
|
||||
certs "Vorhandene Zertifikate anzeigen" \
|
||||
del "Proxy-Host loeschen" \
|
||||
status "Anmeldung pruefen" \
|
||||
reset "Datenbank zuruecksetzen (Konto neu anlegen lassen)" \
|
||||
back "zurueck")" || return 0
|
||||
case "$sel" in
|
||||
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" ;;
|
||||
del) gui_proxy_del || true ;;
|
||||
status) ui_run "Anmeldung pruefen" bash -c "cd '$PROJECT_DIR' && NO_COLOR=1 '$SELF' proxy status" ;;
|
||||
reset) gui_npm_reset || true ;;
|
||||
back) return 0 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user