#!/bin/bash # ------------------------------------------------------- # setup.sh — Einmalig nach git clone ausführen # ------------------------------------------------------- set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR/.." PROJECT_ROOT="$(pwd)" echo "🚀 Contao Blueprint Setup" echo "-------------------------" # .env lokal anlegen (nicht im Git, wird nicht deployed) if [ ! -f ".env" ]; then echo "📋 Erstelle .env mit DDEV-Standardwerten..." cat > .env << 'EOF' APP_ENV=dev APP_SECRET=pleasechangethis DATABASE_URL=mysql://db:db@db:3306/db EOF echo "✅ .env erstellt." else echo "✅ .env bereits vorhanden." fi # .env.local für Live-Zugangsdaten anlegen (Vorlage) if [ ! -f ".env.local" ]; then cp .env.example .env.local echo "✅ .env.local als Vorlage erstellt — Live-Zugangsdaten bei Bedarf eintragen." fi # DDEV starten echo "" echo "🐳 Starte DDEV..." ddev start # phpMyAdmin installieren echo "" echo "🗄️ Installiere phpMyAdmin Add-on..." ddev add-on get ddev/ddev-phpmyadmin ddev restart # Composer im Container echo "" echo "📦 Installiere Composer-Abhängigkeiten..." ddev exec composer install --no-interaction # Contao Web-Verzeichnis initialisieren echo "" echo "📁 Initialisiere Contao Web-Verzeichnis..." mkdir -p assets ddev exec vendor/bin/contao-console contao:install-web-dir # Symlinks setzen echo "" echo "🔗 Setze Symlinks..." ddev exec vendor/bin/contao-console contao:symlinks # Assets installieren echo "" echo "🎨 Installiere Assets..." ddev exec vendor/bin/contao-console assets:install public # Cache leeren und aufwärmen echo "" echo "🧹 Leere Cache..." ddev exec vendor/bin/contao-console cache:clear ddev exec vendor/bin/contao-console cache:warmup # DB importieren falls Dump vorhanden if [ -f "db/dump.sql" ]; then echo "" echo "🗄️ Importiere Datenbank aus db/dump.sql..." ddev import-db --file="${PROJECT_ROOT}/db/dump.sql" echo "✅ Datenbank importiert." fi # Contao Migrationen echo "" echo "⚙️ Führe Contao-Migrationen aus..." ddev exec vendor/bin/contao-console contao:migrate --no-interaction # Cache nochmal leeren nach Migrationen und DB-Import ddev exec vendor/bin/contao-console cache:clear # Admin-Benutzer anlegen echo "" echo "👤 Admin-Benutzer anlegen..." ddev exec vendor/bin/contao-console contao:user:create echo "" echo "✅ Setup abgeschlossen!" echo "" echo "🌐 Frontend: https://$(ddev describe 2>/dev/null | grep -o '[a-z0-9-]*\.ddev\.site' | head -1)" echo