Files
Projektarbeit-MYP/docker-entrypoint.sh
2025-06-20 11:36:53 +02:00

59 lines
1.8 KiB
Bash

#!/bin/bash
# Docker Entrypoint für MYP System
# Mercedes-Benz TBA Marienfelde
set -e
echo "🚀 MYP System startet in Docker-Container..."
# Umgebungsvariablen setzen
export MYP_PORT=${MYP_PORT:-5000}
export MYP_HOST=${MYP_HOST:-0.0.0.0}
export MYP_SSL=${MYP_SSL:-false}
export MYP_ENV=${MYP_ENV:-production}
# SSL-Zertifikate generieren falls erforderlich
if [ "${MYP_SSL}" = "true" ] && [ ! -f /app/ssl/server.crt ]; then
echo "🔐 Generiere SSL-Zertifikate..."
mkdir -p /app/ssl
openssl req -x509 -newkey rsa:4096 -keyout /app/ssl/server.key -out /app/ssl/server.crt -days 365 -nodes \
-subj "/C=DE/ST=Berlin/L=Berlin/O=Mercedes-Benz/OU=TBA-Marienfelde/CN=myp-system"
chmod 600 /app/ssl/server.key
chmod 644 /app/ssl/server.crt
echo "✅ SSL-Zertifikate erstellt"
fi
# Datenbank initialisieren
echo "🗄️ Initialisiere Datenbank..."
cd /app
# Sicherstellen dass database-Verzeichnis existiert
mkdir -p /app/database
# Datenbank initialisieren
python -c "from models import init_database; init_database()" 2>/dev/null || echo "Datenbank bereits initialisiert"
# Log-Verzeichnisse erstellen
mkdir -p /app/logs/app /app/logs/admin /app/logs/scheduler /app/logs/hardware_integration
# Uploads-Verzeichnis
mkdir -p /app/uploads /app/static/uploads
# Container-Informationen
echo "📊 Container-Informationen:"
echo " 🏷️ Container: $(hostname)"
echo " 🌐 Host: ${MYP_HOST}"
echo " 🚪 Port: ${MYP_PORT}"
echo " 🔒 SSL: ${MYP_SSL}"
echo " 🛠️ Umgebung: ${MYP_ENV}"
echo " 🐍 Python: $(python --version)"
# Basis-Health-Check
echo "🔍 System-Check..."
python -c "import flask; print(f'✅ Flask {flask.__version__} verfügbar')"
python -c "import sqlalchemy; print(f'✅ SQLAlchemy {sqlalchemy.__version__} verfügbar')"
echo "🎯 MYP System bereit - starte Anwendung..."
# Anwendung starten
exec "$@"