51 lines
1.3 KiB
Bash
Executable file
51 lines
1.3 KiB
Bash
Executable file
#!/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
|