102 lines
2.7 KiB
Bash
102 lines
2.7 KiB
Bash
#!/bin/bash
|
||
set -euo pipefail
|
||
|
||
SRC_ROOT="/Volumes/MacBook SD/Projekte/HebammeKrystyna"
|
||
DST_ROOT="/Volumes/docker/flask-postgres/app-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 "$DST_ROOT" ] || { echo "❌ Ziel fehlt: $DST_ROOT"; exit 1; }
|
||
|
||
########################################
|
||
# 1. CORE CODE (ohne images/styles/files)
|
||
########################################
|
||
echo "📦 Synchronisiere Core-Projektdateien ..."
|
||
|
||
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/" "$DST_ROOT/"
|
||
|
||
########################################
|
||
# 2. IMAGES
|
||
########################################
|
||
echo "🖼️ Synchronisiere images/ ..."
|
||
|
||
if [ -d "$SRC_ROOT/images" ]; then
|
||
mkdir -p "$DST_ROOT/images"
|
||
|
||
rsync -av --delete \
|
||
--exclude '.DS_Store' \
|
||
--exclude '._*' \
|
||
"$SRC_ROOT/images/" "$DST_ROOT/images/"
|
||
else
|
||
echo "⚠️ images/ nicht gefunden – übersprungen."
|
||
fi
|
||
|
||
########################################
|
||
# 3. STYLES
|
||
########################################
|
||
echo "🎨 Synchronisiere styles/ ..."
|
||
|
||
if [ -d "$SRC_ROOT/styles" ]; then
|
||
mkdir -p "$DST_ROOT/styles"
|
||
|
||
rsync -av --delete \
|
||
--exclude '.DS_Store' \
|
||
--exclude '._*' \
|
||
"$SRC_ROOT/styles/" "$DST_ROOT/styles/"
|
||
else
|
||
echo "⚠️ styles/ nicht gefunden – übersprungen."
|
||
fi
|
||
|
||
########################################
|
||
# 4. TEMPLATES
|
||
########################################
|
||
echo "📄 Synchronisiere templates/ ..."
|
||
|
||
if [ -d "$SRC_ROOT/templates" ]; then
|
||
mkdir -p "$DST_ROOT/templates"
|
||
|
||
rsync -av --delete \
|
||
--exclude '.DS_Store' \
|
||
--exclude '._*' \
|
||
"$SRC_ROOT/templates/" "$DST_ROOT/templates/"
|
||
else
|
||
echo "⚠️ templates/ nicht gefunden – übersprungen."
|
||
fi
|
||
|
||
########################################
|
||
# 5. HINWEIS FILES
|
||
########################################
|
||
echo "📁 files/ wird bewusst NICHT synchronisiert."
|
||
|
||
########################################
|
||
# 6. OPTIONAL: CONTAINER RESTART
|
||
########################################
|
||
echo "🔄 Starte Container neu ... MANUELL zu tun"
|
||
|
||
#ssh "${NAS_USER}@${NAS_HOST}" "docker restart ${CONTAINER_NAME}" \
|
||
# && echo "✅ Container erfolgreich neu gestartet" \
|
||
# || echo "⚠️ Container konnte nicht neu gestartet werden"
|
||
|
||
########################################
|
||
# DONE
|
||
########################################
|
||
echo "🎉 Deployment abgeschlossen." |