Files
docker_nextcloud/init-nextcloud.sh
2026-03-05 14:50:57 +00:00

55 lines
2.1 KiB
Bash

#!/bin/bash
# Branislav Zelak
# v.01 - 2026-03-02
# --- VARIABLEN (Optional: Später in .env auslagern) ---
NEXTCLOUD_IP="10.174.243.224"
# --- 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 "----------------------------------------------------"