KI-AGENT: Uninstall für Selfhost-Setup ergänzen
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 12s
Build and Push Docker Images / build-frontend (push) Successful in 11s
Build and Push Docker Images / build-docs (push) Successful in 11s
Build and Push Docker Images / build-website (push) Successful in 11s
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 12s
Build and Push Docker Images / build-frontend (push) Successful in 11s
Build and Push Docker Images / build-docs (push) Successful in 11s
Build and Push Docker Images / build-website (push) Successful in 11s
This commit is contained in:
@@ -9,6 +9,8 @@ COMPOSE_FILE="${FEDEO_COMPOSE_FILE:-$ROOT_DIR/docker-compose.yml}"
|
|||||||
MODE=""
|
MODE=""
|
||||||
START_STACK="ask"
|
START_STACK="ask"
|
||||||
FORCE="false"
|
FORCE="false"
|
||||||
|
UNINSTALL="false"
|
||||||
|
PURGE="false"
|
||||||
TTY_INPUT="${FEDEO_TTY_INPUT:-/dev/tty}"
|
TTY_INPUT="${FEDEO_TTY_INPUT:-/dev/tty}"
|
||||||
TTY_FD=""
|
TTY_FD=""
|
||||||
|
|
||||||
@@ -53,6 +55,8 @@ Nutzung:
|
|||||||
bash scripts/selfhost-setup.sh --simple
|
bash scripts/selfhost-setup.sh --simple
|
||||||
bash scripts/selfhost-setup.sh --advanced
|
bash scripts/selfhost-setup.sh --advanced
|
||||||
bash scripts/selfhost-setup.sh --simple --start
|
bash scripts/selfhost-setup.sh --simple --start
|
||||||
|
bash scripts/selfhost-setup.sh --uninstall
|
||||||
|
bash scripts/selfhost-setup.sh --uninstall --purge
|
||||||
|
|
||||||
Optionen:
|
Optionen:
|
||||||
--simple Kurzer Assistent mit lokalen Diensten und sicheren Defaults
|
--simple Kurzer Assistent mit lokalen Diensten und sicheren Defaults
|
||||||
@@ -60,6 +64,8 @@ Optionen:
|
|||||||
--start Startet den Stack nach dem Schreiben der Konfiguration
|
--start Startet den Stack nach dem Schreiben der Konfiguration
|
||||||
--no-start Schreibt nur Konfiguration und Verzeichnisse
|
--no-start Schreibt nur Konfiguration und Verzeichnisse
|
||||||
--force Überschreibt eine vorhandene .env ohne Rückfrage
|
--force Überschreibt eine vorhandene .env ohne Rückfrage
|
||||||
|
--uninstall Stoppt und entfernt den Docker-Compose-Stack
|
||||||
|
--purge Entfernt beim Uninstall zusätzlich .env und lokale Datenverzeichnisse
|
||||||
USAGE
|
USAGE
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,6 +86,12 @@ while [[ $# -gt 0 ]]; do
|
|||||||
--force)
|
--force)
|
||||||
FORCE="true"
|
FORCE="true"
|
||||||
;;
|
;;
|
||||||
|
--uninstall)
|
||||||
|
UNINSTALL="true"
|
||||||
|
;;
|
||||||
|
--purge)
|
||||||
|
PURGE="true"
|
||||||
|
;;
|
||||||
-h|--help)
|
-h|--help)
|
||||||
usage
|
usage
|
||||||
exit 0
|
exit 0
|
||||||
@@ -385,7 +397,80 @@ prepare_directories() {
|
|||||||
chmod 600 "$ROOT_DIR/traefik/letsencrypt/acme.json"
|
chmod 600 "$ROOT_DIR/traefik/letsencrypt/acme.json"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uninstall_stack() {
|
||||||
|
need_file "$COMPOSE_FILE"
|
||||||
|
|
||||||
|
if [[ ! -f "$ENV_FILE" ]]; then
|
||||||
|
echo "Keine .env gefunden. Docker Compose wird mit Standardwerten ausgeführt."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "FEDEO Selfhost Uninstall"
|
||||||
|
echo "Compose-Datei: $COMPOSE_FILE"
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [[ "$FORCE" != "true" ]]; then
|
||||||
|
if ! yes_no "Docker-Compose-Stack stoppen und Container/Netzwerke entfernen?" "n"; then
|
||||||
|
echo "Abgebrochen."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$ENV_FILE" ]]; then
|
||||||
|
compose_stack down --remove-orphans
|
||||||
|
else
|
||||||
|
compose -f "$COMPOSE_FILE" down --remove-orphans
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$PURGE" != "true" ]]; then
|
||||||
|
echo
|
||||||
|
echo "Uninstall abgeschlossen. Lokale Daten und .env wurden behalten."
|
||||||
|
echo "Für vollständiges Entfernen erneut mit --uninstall --purge ausführen."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Achtung: --purge entfernt lokale Datenbanken, Dateien, Matrix-Daten, Zertifikate und .env."
|
||||||
|
echo "Betroffene Pfade:"
|
||||||
|
echo " $ENV_FILE"
|
||||||
|
echo " $ROOT_DIR/postgres"
|
||||||
|
echo " $ROOT_DIR/minio"
|
||||||
|
echo " $ROOT_DIR/matrix/postgres"
|
||||||
|
echo " $ROOT_DIR/matrix/synapse"
|
||||||
|
echo " $ROOT_DIR/traefik/letsencrypt"
|
||||||
|
echo " $ROOT_DIR/traefik/logs"
|
||||||
|
|
||||||
|
if [[ "$FORCE" != "true" ]]; then
|
||||||
|
if ! yes_no "Diese lokalen Daten endgültig löschen?" "n"; then
|
||||||
|
echo "Daten wurden behalten."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf \
|
||||||
|
"$ENV_FILE" \
|
||||||
|
"$ROOT_DIR/postgres" \
|
||||||
|
"$ROOT_DIR/minio" \
|
||||||
|
"$ROOT_DIR/matrix/postgres" \
|
||||||
|
"$ROOT_DIR/matrix/synapse" \
|
||||||
|
"$ROOT_DIR/traefik/letsencrypt" \
|
||||||
|
"$ROOT_DIR/traefik/logs"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Uninstall inklusive lokaler Daten abgeschlossen."
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
if [[ "$UNINSTALL" == "true" ]]; then
|
||||||
|
uninstall_stack
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$PURGE" == "true" ]]; then
|
||||||
|
echo "--purge kann nur zusammen mit --uninstall verwendet werden." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
need_file "$COMPOSE_FILE"
|
need_file "$COMPOSE_FILE"
|
||||||
need_file "$ENV_EXAMPLE"
|
need_file "$ENV_EXAMPLE"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user