#!/usr/bin/env bash set -euo pipefail SERVICE_NAME="steuerkram" SERVICE_FILE="$(cd "$(dirname "$0")" && pwd)/steuerkram.service" INSTALL_PATH="/etc/systemd/system/${SERVICE_NAME}.service" # Berechtigungen prüfen if [[ $EUID -ne 0 ]]; then echo "Fehler: Dieses Skript benötigt Root-Rechte." echo "Bitte ausführen mit: sudo $0" exit 1 fi # Service-Datei prüfen if [[ ! -f "$SERVICE_FILE" ]]; then echo "Fehler: Service-Datei nicht gefunden: $SERVICE_FILE" exit 1 fi # Abhängigkeiten prüfen if ! command -v docker &>/dev/null; then echo "Fehler: docker ist nicht installiert oder nicht im PATH." exit 1 fi if ! docker compose version &>/dev/null; then echo "Fehler: 'docker compose' (Plugin) ist nicht verfügbar." exit 1 fi # Docker-Daemon aktivieren echo "Aktiviere docker.service ..." systemctl enable docker systemctl start docker # Service-Datei installieren echo "Installiere ${SERVICE_NAME}.service nach ${INSTALL_PATH} ..." cp "$SERVICE_FILE" "$INSTALL_PATH" chmod 644 "$INSTALL_PATH" # Systemd neu laden und Service aktivieren echo "Lade systemd-Konfiguration neu ..." systemctl daemon-reload echo "Aktiviere und starte ${SERVICE_NAME}.service ..." systemctl enable --now "$SERVICE_NAME" echo "" echo "Fertig. Status:" systemctl status "$SERVICE_NAME" --no-pager