53 lines
2.1 KiB
Bash
53 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
# --- VARIABLEN (Optional: Später in .env auslagern) ---
|
|
NEXTCLOUD_IP="10.174.243.69"
|
|
|
|
# --- DOCKER HOCHFAHREN ---
|
|
echo "Starte Docker-Container..."
|
|
docker compose up -d
|
|
|
|
echo "Warte auf die Initialisierung von Nextcloud..."
|
|
# Warteschleife: Prüft, ob Nextcloud fertig installiert ist
|
|
until docker compose exec --user www-data app php occ status 2>/dev/null | grep -q "installed: true"; do
|
|
echo -n "."
|
|
sleep 5
|
|
done
|
|
echo -e "\nNextcloud ist bereit. Starte Konfiguration..."
|
|
|
|
# --- DATENBANK-OPTIMIERUNGEN ---
|
|
echo "Optimiere Datenbank..."
|
|
docker compose exec --user www-data app php occ db:add-missing-indices
|
|
docker compose exec --user www-data app php occ db:convert-filecache-bigint --no-interaction
|
|
docker compose exec --user www-data app php occ maintenance:repair --include-expensive
|
|
|
|
# --- WARTUNGSFENSTER ---
|
|
# Legt fest, dass schwere Aufgaben (wie App-Updates) um 01:00 Uhr nachts laufen
|
|
docker compose exec --user www-data app php occ config:system:set maintenance_window_start --value=1 --type=integer
|
|
|
|
# --- APPS INSTALLIEREN ---
|
|
echo "Installiere Must-Have Apps..."
|
|
apps=(calendar contacts notes deck circles groupfolders previewgenerator tasks)
|
|
|
|
for app in "${apps[@]}"; do
|
|
echo "Installiere App: $app..."
|
|
docker compose exec --user www-data app php occ app:install "$app" --no-interaction
|
|
done
|
|
|
|
# --- VORSCHAU-OPTIMIERUNG ---
|
|
echo "Konfiguriere Vorschaubilder (Performance)..."
|
|
docker compose exec --user www-data app php occ config:system:set preview_max_x --value 1024
|
|
docker compose exec --user www-data app php occ config:system:set preview_max_y --value 1024
|
|
|
|
# --- HINTERGRUNDAUFGABEN (CRON) ---
|
|
echo "Stelle Hintergrundaufgaben auf Cron um..."
|
|
docker compose exec --user www-data app php occ background:cron
|
|
|
|
echo "Führe ersten Cron-Job manuell aus..."
|
|
docker compose exec --user www-data cron php -f /var/www/html/cron.php
|
|
|
|
echo "----------------------------------------------------"
|
|
echo "Setup erfolgreich abgeschlossen!"
|
|
echo "Nextcloud ist unter http://${NEXTCLOUD_IP}:8080 erreichbar."
|
|
echo "----------------------------------------------------"
|