created initial script for different service profiles
This commit is contained in:
@@ -1,22 +1,160 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Funktion zur Überprüfung der Produktivumgebung
|
||||
is_production() {
|
||||
local prod_ip="85.215.56.185" # IP-Adresse deines Produktivservers
|
||||
local current_ip
|
||||
|
||||
# Überprüfe das Betriebssystem
|
||||
case "$OSTYPE" in
|
||||
msys*|cygwin*|mingw*)
|
||||
# Windows
|
||||
current_ip=$(ipconfig | grep -i "IPv4 Address" | head -n 1 | awk '{print $NF}')
|
||||
;;
|
||||
darwin*)
|
||||
# macOS
|
||||
current_ip=$(ipconfig getifaddr en0) # Für Wi-Fi
|
||||
if [ -z "$current_ip" ]; then
|
||||
current_ip=$(ipconfig getifaddr en1) # Für Ethernet
|
||||
fi
|
||||
;;
|
||||
linux*|bsd*|solaris*)
|
||||
# Linux und andere Unix-ähnliche Systeme
|
||||
current_ip=$(hostname -I | awk '{print $1}')
|
||||
;;
|
||||
*)
|
||||
echo "Unbekanntes Betriebssystem: $OSTYPE"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Erkannte IP-Adresse: $current_ip"
|
||||
|
||||
if [ "$current_ip" == "$prod_ip" ]; then
|
||||
echo "Produktivumgebung erkannt."
|
||||
return 0 # True, wir sind in der Produktivumgebung
|
||||
else
|
||||
echo "Lokale Entwicklungsumgebung erkannt."
|
||||
return 1 # False, wir sind in der lokalen Umgebung
|
||||
fi
|
||||
}
|
||||
|
||||
# Funktion zum Setzen der Umgebungsvariablen
|
||||
set_environment_variables() {
|
||||
if is_production; then
|
||||
export DOMAIN_SUFFIX=".mindboost.team"
|
||||
export TRAEFIK_DASHBOARD_DOMAIN="traefik${DOMAIN_SUFFIX}"
|
||||
export PORTAINER_DOMAIN="portainer${DOMAIN_SUFFIX}"
|
||||
export FRONTEND_DOMAIN="app${DOMAIN_SUFFIX}"
|
||||
export BACKEND_DOMAIN="b${DOMAIN_SUFFIX}"
|
||||
else
|
||||
export DOMAIN_SUFFIX=".local"
|
||||
export TRAEFIK_DASHBOARD_DOMAIN="traefik${DOMAIN_SUFFIX}"
|
||||
export PORTAINER_DOMAIN="portainer${DOMAIN_SUFFIX}"
|
||||
export FRONTEND_DOMAIN="frontend${DOMAIN_SUFFIX}"
|
||||
export BACKEND_DOMAIN="backend${DOMAIN_SUFFIX}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
echo "Prüfe, ob Traefik läuft..."
|
||||
|
||||
set_environment_variables
|
||||
|
||||
if ! docker ps --format '{{.Names}}' | grep -q 'traefik'; then
|
||||
echo "Traefik läuft nicht. Starte Traefik mit CrowdSec Bouncer..."
|
||||
|
||||
if is_production; then
|
||||
echo "Wir befinden uns in der Produktivumgebung."
|
||||
echo "Starte Traefik und CrowdSec Bouncer mit docker-compose.traefik.prod.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/proxy/docker-compose.traefik.prod.yml up -d
|
||||
else
|
||||
echo "Wir befinden uns in der lokalen Entwicklungsumgebung."
|
||||
echo "Starte Traefik und CrowdSec Bouncer mit docker-compose.traefik.local.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.traefik.local.yml up -d
|
||||
fi
|
||||
else
|
||||
echo "Traefik läuft bereits. Aktualisiere die Konfiguration..."
|
||||
|
||||
if is_production; then
|
||||
echo "Aktualisiere Traefik und CrowdSec Bouncer in der Produktivumgebung..."
|
||||
docker compose -f ../apps/docker-compose.traefik.prod.yml up -d
|
||||
else
|
||||
echo "Aktualisiere Traefik und CrowdSec Bouncer in der lokalen Umgebung..."
|
||||
docker compose -f ../apps/docker-compose.traefik.local.yml up -d
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Traefik und CrowdSec Bouncer Deployment abgeschlossen."
|
||||
|
||||
=================
|
||||
|
||||
|
||||
echo "Prüfe, ob Traefik läuft..."
|
||||
|
||||
set_environment_variables
|
||||
|
||||
if ! docker ps --format '{{.Names}}' | grep -q 'traefik'; then
|
||||
echo "Traefik läuft nicht. Starte Traefik und Portainer..."
|
||||
else
|
||||
echo "Traefik läuft bereits. Aktualisiere die Konfiguration..."
|
||||
fi
|
||||
|
||||
|
||||
if is_production; then
|
||||
echo "Wir befinden uns in der Produktivumgebung."
|
||||
echo "Starte/Aktualisiere Deployment mit docker-compose.prod.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.prod.yml up -d
|
||||
else
|
||||
echo "Wir befinden uns in der lokalen Entwicklungsumgebung."
|
||||
echo "Starte/Aktualisiere lokale Version mit docker-compose.overwrite.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.overwrite.yml up -d
|
||||
fi
|
||||
|
||||
|
||||
if ! docker ps --format '{{.Names}}' | grep -q 'traefik'; then
|
||||
echo "Traefik läuft nicht."
|
||||
read -p "Möchtest du die lokale Version zum Debuggen (docker-compose.overwrite.yml) starten? (y/n): " answer
|
||||
if [[ "$answer" =~ ^[Yy]$ ]]; then
|
||||
echo "Starte lokale Version..."
|
||||
docker compose -f ../apps/docker-compose.overwrite.yml up -d
|
||||
|
||||
if is_production; then
|
||||
echo "Wir befinden uns in der Produktivumgebung."
|
||||
set_environment_variables
|
||||
echo "Starte Deployment mit docker-compose.prod.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.prod.yml up -d
|
||||
else
|
||||
echo "Deployment abgebrochen."
|
||||
exit 1
|
||||
echo "Wir befinden uns in der lokalen Entwicklungsumgebung."
|
||||
read -p "Möchtest du die lokale Version zum Debuggen (docker-compose.overwrite.yml) starten? (y/n): " answer
|
||||
if [[ "$answer" =~ ^[Yy]$ ]]; then
|
||||
echo "Starte lokale Version..."
|
||||
set_environment_variables
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.overwrite.yml up -d
|
||||
else
|
||||
echo "Deployment abgebrochen."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "Traefik läuft."
|
||||
echo "Starte Deployment mit docker-compose.prod.yml..."
|
||||
docker compose -f ../apps/docker-compose.prod.yml up -d
|
||||
echo "Traefik läuft bereits."
|
||||
|
||||
if is_production; then
|
||||
echo "Wir befinden uns in der Produktivumgebung."
|
||||
set_environment_variables
|
||||
echo "Aktualisiere Deployment mit docker-compose.prod.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.prod.yml up -d
|
||||
else
|
||||
echo "Wir befinden uns in der lokalen Entwicklungsumgebung."
|
||||
set_environment_variables
|
||||
echo "Aktualisiere lokale Version mit docker-compose.overwrite.yml..."
|
||||
env | grep DOMAIN # Debug: Zeige die gesetzten Umgebungsvariablen an
|
||||
docker compose -f ../apps/docker-compose.overwrite.yml up -d
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Deployment abgeschlossen."
|
||||
echo "Deployment abgeschlossen."
|
Reference in New Issue
Block a user