#!/bin/bash GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' STACK_DIR="/opt/docker-stacks/03-apps" DB_PATH="${STACK_DIR}/data/filebrowser/filebrowser.db" echo -e "${BLUE}==================================================${NC}" echo -e "${BLUE} 🚀 OpenClaw App-Stack Deployment (03-apps) ${NC}" echo -e "${BLUE}==================================================${NC}" cd "$STACK_DIR" || { echo -e "${RED}Fehler: Verzeichnis $STACK_DIR nicht gefunden!${NC}"; exit 1; } echo -e "${YELLOW}⏳ Stoppe laufende Container...${NC}" docker compose down if [ -d "$DB_PATH" ]; then echo -e "${YELLOW}⚠️ Bereinige fehlerhaftes Verzeichnis...${NC}" sudo rm -rf "$DB_PATH" fi echo -e "${YELLOW}📂 Bereite Verzeichnisstruktur vor...${NC}" sudo mkdir -p "$(dirname "$DB_PATH")" # Datenbank sauber mit dem offiziellen Tool initialisieren, falls sie neu ist if [ ! -s "$DB_PATH" ]; then echo -e "${YELLOW}📦 Initialisiere frische File-Browser Datenbank...${NC}" # Temporären Container starten, der NUR die DB sauber aufsetzt docker run --rm \ -v "$(dirname "$DB_PATH")":/database \ filebrowser/filebrowser:latest \ filebrowser -d /database/filebrowser.db config init # Standard-Admin explizit hinzufügen, damit admin/admin garantiert klappt docker run --rm \ -v "$(dirname "$DB_PATH")":/database \ filebrowser/filebrowser:latest \ filebrowser -d /database/filebrowser.db users add admin admin --perm.admin=true sudo chmod 666 "$DB_PATH" echo -e "${GREEN}✓ Datenbankstruktur erfolgreich mit Standard-User (admin/admin) aufgesetzt.${NC}" fi echo -e "${YELLOW}⚡ Starte Docker-Compose-Stack neu...${NC}" docker compose up -d --force-recreate --remove-orphans echo -e "${YELLOW}⏳ Warte auf Initialisierung...${NC}" sleep 5 echo -e "\n${BLUE}==================================================${NC}" echo -e "${BLUE} 📊 Aktueller Status der Services: ${NC}" echo -e "${BLUE}==================================================${NC}" docker compose ps echo -e "\n${GREEN}🎉 Deployment abgeschlossen! Melde dich an auf https://files.brabros.de${NC}"