feat: stop_finance_pod.sh - kontrolliertes Herunterfahren des Pods
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
52
stop_finance_pod.sh
Executable file
52
stop_finance_pod.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fährt den finance_pod kontrolliert herunter: stoppt den systemd-User-Service
|
||||
# (der den Pod verwaltet) und danach - falls noch vorhanden - den Pod selbst.
|
||||
# Gedacht als expliziter Wartungsschritt, z.B. vor dem Editieren der .env
|
||||
# (Reverse-Proxy-Umzug, siehe docs/reverse-proxy.md) und dem erneuten Ausführen
|
||||
# von ./create_pod_finance.sh.
|
||||
#
|
||||
# KEIN Datenverlust: Postgres-/Grafana-Daten liegen im Bind-Mount
|
||||
# ~/.local/share/finance_pod und bleiben beim Stoppen erhalten. Der Pod wird
|
||||
# nur GESTOPPT, nicht entfernt - das Entfernen/Neuerstellen erledigt
|
||||
# create_pod_finance.sh ohnehin bei jedem Lauf.
|
||||
|
||||
set -e
|
||||
|
||||
POD_NAME='finance_pod'
|
||||
SERVICE="pod-${POD_NAME}.service"
|
||||
|
||||
# 1. systemd-User-Service stoppen (er startet und verwaltet den Pod). Nur
|
||||
# stoppen, nicht disablen - create_pod_finance.sh macht am Ende wieder
|
||||
# `enable --now`. `stop` allein hält den Service bis dahin unten.
|
||||
if systemctl --user list-units --type=service --all 2>/dev/null | \
|
||||
grep -q "$SERVICE"; then
|
||||
echo "Stoppe systemd-User-Service $SERVICE ..."
|
||||
systemctl --user stop "$SERVICE" || true
|
||||
else
|
||||
echo "Service $SERVICE ist nicht registriert - nichts zu stoppen."
|
||||
fi
|
||||
|
||||
# 2. Falls der Pod noch läuft (z.B. unmanaged außerhalb systemd gestartet),
|
||||
# ebenfalls stoppen. --ignore: kein Fehler, wenn er nicht existiert.
|
||||
if podman pod exists "$POD_NAME"; then
|
||||
echo "Stoppe Pod $POD_NAME ..."
|
||||
podman pod stop --ignore --time 15 "$POD_NAME" || true
|
||||
else
|
||||
echo "Pod $POD_NAME existiert nicht."
|
||||
fi
|
||||
|
||||
# 3. Status zur Kontrolle ausgeben.
|
||||
echo
|
||||
echo "--- Status nach dem Herunterfahren ---"
|
||||
printf 'Service aktiv? '
|
||||
systemctl --user is-active "$SERVICE" || true
|
||||
echo "Pod/Container:"
|
||||
podman pod ps --filter "name=$POD_NAME" || true
|
||||
|
||||
echo
|
||||
echo "Fertig heruntergefahren. Nächste Schritte:"
|
||||
echo " 1. .env editieren: \$EDITOR ~/.local/share/finance_pod/.env"
|
||||
echo " (Reverse-Proxy: FB_GRAFANA_PUBLIC_URL + FB_SESSION_COOKIE_SECURE"
|
||||
echo " single-quoted setzen - siehe docs/reverse-proxy.md)"
|
||||
echo " 2. Neu ausrollen: ./create_pod_finance.sh"
|
||||
Reference in New Issue
Block a user