#!/bin/bash set -euo pipefail SRC_ROOT="/Volumes/MacBook SD/Projekte/HebammeKrystyna" APP_DST="/Volumes/docker/flask-postgres/app-hebammekrystyna" ASSET_DST="/Volumes/docker/flask-postgres/hebammekrystyna" NAS_USER="BKolb" NAS_HOST="192.168.0.10" CONTAINER_NAME="flask_hebammekrystyna" echo "Starte Deployment..." [ -d "$SRC_ROOT" ] || { echo "Quelle fehlt: $SRC_ROOT"; exit 1; } [ -d "$APP_DST" ] || { echo "App-Ziel fehlt: $APP_DST"; exit 1; } [ -d "$ASSET_DST" ] || { echo "Asset-Ziel fehlt: $ASSET_DST"; exit 1; } echo "Synchronisiere Projektdateien nach $APP_DST ..." rsync -av --delete \ --exclude '.DS_Store' \ --exclude '._*' \ --exclude '__pycache__/' \ --exclude '*.pyc' \ --exclude '*.pyo' \ --exclude '*.log' \ --exclude '.git/' \ --exclude '.venv/' \ --exclude 'venv/' \ --exclude 'node_modules/' \ --exclude 'files/' \ --exclude 'images/' \ --exclude 'styles/' \ "$SRC_ROOT/" "$APP_DST/" echo "Synchronisiere images/ nach $ASSET_DST/images ..." if [ -d "$SRC_ROOT/images" ]; then mkdir -p "$ASSET_DST/images" rsync -av --delete \ --exclude '.DS_Store' \ --exclude '._*' \ --exclude 'videos/' \ "$SRC_ROOT/images/" "$ASSET_DST/images/" else echo "Hinweis: $SRC_ROOT/images nicht gefunden, übersprungen." fi echo "Synchronisiere styles/ nach $ASSET_DST/styles ..." if [ -d "$SRC_ROOT/styles" ]; then mkdir -p "$ASSET_DST/styles" rsync -av --delete \ --exclude '.DS_Store' \ --exclude '._*' \ "$SRC_ROOT/styles/" "$ASSET_DST/styles/" else echo "Hinweis: $SRC_ROOT/styles nicht gefunden, übersprungen." fi echo "Synchronisiere templates/ nach $APP_DST/templates ..." if [ -d "$SRC_ROOT/templates" ]; then mkdir -p "$APP_DST/templates" rsync -av --delete \ --exclude '.DS_Store' \ --exclude '._*' \ "$SRC_ROOT/templates/" "$APP_DST/templates/" else echo "Hinweis: $SRC_ROOT/templates nicht gefunden, übersprungen." fi echo "files/ wird bewusst nicht angefasst." echo "Container neu starten ... manuell!" #ssh "${NAS_USER}@${NAS_HOST}" "docker restart ${CONTAINER_NAME}" echo "Deployment abgeschlossen."