Fix: Remove dev files, add auto-migration entrypoint, update Dockerfile/README
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 1m44s
All checks were successful
Docker Build & Push / build-and-push (push) Successful in 1m44s
This commit is contained in:
45
docker-entrypoint.sh
Normal file
45
docker-entrypoint.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Funktion zum Warten auf MySQL
|
||||
wait_for_db() {
|
||||
echo "Warte auf Datenbank-Verbindung zu $DB_SERVER..."
|
||||
# Max 30 Sekunden warten
|
||||
for i in {1..30}; do
|
||||
if mysql -h"$DB_SERVER" -u"$DB_USERNAME" -p"$DB_PASSWORD" -e "SELECT 1" >/dev/null 2>&1; then
|
||||
echo "Datenbank ist erreichbar!"
|
||||
return 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
echo "Fehler: Datenbank nicht erreichbar nach 30 Sekunden."
|
||||
return 1
|
||||
}
|
||||
|
||||
# Wenn DB_SERVER gesetzt ist, versuchen wir die Migration
|
||||
if [ ! -z "$DB_SERVER" ]; then
|
||||
if wait_for_db; then
|
||||
echo "Prüfe Datenbank-Schema..."
|
||||
|
||||
# Prüfen ob 'users' Tabelle existiert
|
||||
if ! mysql -h"$DB_SERVER" -u"$DB_USERNAME" -p"$DB_PASSWORD" "$DB_NAME" -e "SELECT 1 FROM users LIMIT 1" >/dev/null 2>&1; then
|
||||
echo "Initialisiere Datenbank-Struktur..."
|
||||
mysql -h"$DB_SERVER" -u"$DB_USERNAME" -p"$DB_PASSWORD" "$DB_NAME" < /var/www/html/database/install.sql
|
||||
|
||||
# Standard-User anlegen (testnutzer / Start123!)
|
||||
echo "Lege Standard-Benutzer an..."
|
||||
# Hash für 'Start123!'
|
||||
HASH='$2y$10$Ov7qzHnk4EKYdDNLNP073ecsrRJM5VtK4iWcMKBFBosEc6kaFbC.y'
|
||||
mysql -h"$DB_SERVER" -u"$DB_USERNAME" -p"$DB_PASSWORD" "$DB_NAME" -e "INSERT INTO users (username, password_hash) VALUES ('testnutzer', '$HASH')"
|
||||
|
||||
echo "Datenbank erfolgreich initialisiert."
|
||||
else
|
||||
echo "Datenbank ist bereits initialisiert."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "Warnung: DB_SERVER nicht gesetzt. Überspringe Datenbank-Check."
|
||||
fi
|
||||
|
||||
# Apache starten
|
||||
exec apache2-foreground
|
||||
Reference in New Issue
Block a user