feat(apps): integriere kernanwendungen im vps-stack
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
|||||||
|
#!/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}"
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik_proxy:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
filebrowser_db:
|
||||||
|
|
||||||
|
services:
|
||||||
|
filebrowser:
|
||||||
|
image: filebrowser/filebrowser:latest
|
||||||
|
container_name: filebrowser
|
||||||
|
user: "0:0"
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /opt/docker-stacks:/srv
|
||||||
|
- filebrowser_db:/database/
|
||||||
|
networks:
|
||||||
|
- traefik_proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.filebrowser.rule=Host(`files.brabros.de`)"
|
||||||
|
- "traefik.http.routers.filebrowser.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.filebrowser.tls.certresolver=myresolver"
|
||||||
|
- "traefik.http.routers.filebrowser.middlewares=authelia@docker"
|
||||||
|
- "traefik.http.services.filebrowser.loadbalancer.server.port=80"
|
||||||
|
- "traefik.docker.network=traefik_proxy"
|
||||||
|
|
||||||
|
memos:
|
||||||
|
image: ghcr.io/usememos/memos:latest
|
||||||
|
container_name: memos
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./data/memos:/var/opt/memos
|
||||||
|
networks:
|
||||||
|
- traefik_proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.memos.rule=Host(`memos.brabros.de`)"
|
||||||
|
- "traefik.http.routers.memos.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.memos.tls.certresolver=myresolver"
|
||||||
|
- "traefik.http.routers.memos.middlewares=authelia@docker"
|
||||||
|
- "traefik.http.services.memos.loadbalancer.server.port=5230"
|
||||||
|
- "traefik.docker.network=traefik_proxy"
|
||||||
Reference in New Issue
Block a user