mirror of
https://github.com/OHV-IT/collabrix.git
synced 2025-12-15 16:48:36 +01:00
- teamchat.service: Systemd service configuration - install-service.sh: Automated service installer - SYSTEMD_INSTALL_README.md: Complete installation guide - Automatic start on boot with failure recovery - Proper logging to systemd journal - Root user configuration (can be customized) - Troubleshooting and management commands
91 lines
2.2 KiB
Bash
Executable File
91 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Team Chat System - Systemd Service Installer
|
|
# Installiert den Team Chat als Systemd-Service für automatischen Start
|
|
|
|
set -e
|
|
|
|
SERVICE_NAME="teamchat"
|
|
SERVICE_FILE="/home/OfficeDesk/teamchat.service"
|
|
SYSTEMD_PATH="/etc/systemd/system/${SERVICE_NAME}.service"
|
|
|
|
# Farben
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
log() {
|
|
echo -e "${GREEN}[$(date +'%Y-%m-%d %H:%M:%S')] $1${NC}"
|
|
}
|
|
|
|
error() {
|
|
echo -e "${RED}[ERROR] $1${NC}" >&2
|
|
}
|
|
|
|
warning() {
|
|
echo -e "${YELLOW}[WARNING] $1${NC}"
|
|
}
|
|
|
|
info() {
|
|
echo -e "${BLUE}[INFO] $1${NC}"
|
|
}
|
|
|
|
# Prüfe Root-Rechte
|
|
if [[ $EUID -ne 0 ]]; then
|
|
error "Dieses Script muss als root ausgeführt werden!"
|
|
echo "Verwendung: sudo $0"
|
|
exit 1
|
|
fi
|
|
|
|
log "Installiere Team Chat System als Systemd-Service..."
|
|
|
|
# Kopiere Service-Datei
|
|
log "Kopiere Service-Datei nach $SYSTEMD_PATH"
|
|
cp "$SERVICE_FILE" "$SYSTEMD_PATH"
|
|
|
|
# Setze korrekte Berechtigungen
|
|
chmod 644 "$SYSTEMD_PATH"
|
|
|
|
# Systemd neu laden
|
|
log "Lade Systemd-Konfiguration neu..."
|
|
systemctl daemon-reload
|
|
|
|
# Service aktivieren
|
|
log "Aktiviere Service für automatischen Start beim Boot..."
|
|
systemctl enable "$SERVICE_NAME"
|
|
|
|
# Service starten
|
|
log "Starte Team Chat Service..."
|
|
systemctl start "$SERVICE_NAME"
|
|
|
|
# Warte kurz
|
|
sleep 3
|
|
|
|
# Status prüfen
|
|
log "Prüfe Service-Status..."
|
|
if systemctl is-active --quiet "$SERVICE_NAME"; then
|
|
log "✅ Service erfolgreich gestartet!"
|
|
echo ""
|
|
echo "=== Service Status ==="
|
|
systemctl status "$SERVICE_NAME" --no-pager -l
|
|
echo ""
|
|
echo "=== Nützliche Commands ==="
|
|
echo "Status prüfen: systemctl status $SERVICE_NAME"
|
|
echo "Service stoppen: systemctl stop $SERVICE_NAME"
|
|
echo "Service starten: systemctl start $SERVICE_NAME"
|
|
echo "Logs anzeigen: journalctl -u $SERVICE_NAME -f"
|
|
echo "Service deaktivieren: systemctl disable $SERVICE_NAME"
|
|
echo ""
|
|
info "Der Service startet jetzt automatisch beim System-Boot!"
|
|
else
|
|
error "Service konnte nicht gestartet werden!"
|
|
echo ""
|
|
echo "=== Debug Informationen ==="
|
|
systemctl status "$SERVICE_NAME" --no-pager -l
|
|
echo ""
|
|
echo "=== Logs ==="
|
|
journalctl -u "$SERVICE_NAME" --no-pager -n 20
|
|
exit 1
|
|
fi |