60 lines
2.1 KiB
Bash
Executable File
60 lines
2.1 KiB
Bash
Executable File
#!/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}"
|