DasUnternehmen/deploy_flask.sh
2026-04-08 21:23:55 +02:00

72 lines
1.9 KiB
Bash

#!/bin/bash
set -euo pipefail
SRC_ROOT="/Volumes/MacBook SD/Projekte/DasUnternehmen"
DST_ROOT="/Volumes/docker/flask-postgres/app-unternehmen"
NAS_USER="BKolb"
NAS_HOST="192.168.0.10"
CONTAINER_NAME="flask_unternehmen"
echo "Starte Deployment..."
[ -d "$SRC_ROOT" ] || { echo "Quelle fehlt: $SRC_ROOT"; exit 1; }
[ -d "$DST_ROOT" ] || { echo "Ziel fehlt: $DST_ROOT"; exit 1; }
echo "Synchronisiere 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/"
echo "Synchronisiere images/ ..."
if [ -d "$SRC_ROOT/images" ]; then
mkdir -p "$DST_ROOT/images"
rsync -av --delete \
--exclude '.DS_Store' \
--exclude '._*' \
--exclude 'videos/' \
"$SRC_ROOT/images/" "$DST_ROOT/images/"
else
echo "Hinweis: $SRC_ROOT/images nicht gefunden, übersprungen."
fi
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 "Hinweis: $SRC_ROOT/styles nicht gefunden, übersprungen."
fi
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 "Hinweis: $SRC_ROOT/templates nicht gefunden, übersprungen."
fi
echo "files/ wird bewusst nicht angefasst."
echo "Container manuell neu starten oder neu bauen falls requirements/Dockerfile geändert wurden."
# ssh "${NAS_USER}@${NAS_HOST}" "/usr/bin/docker restart ${CONTAINER_NAME}"
echo "Deployment abgeschlossen."