Files
yourchat/deploy/install.sh
Torsten Schulz (local) d92c40748e Implementiere Benutzerverbindungskontrolle und verbessere Nachrichtenverwaltung
- Füge die Methode `removeUserDisconnected` in der ChatRoom-Klasse hinzu, um Benutzer bei Verbindungsabbrüchen zu entfernen und entsprechende Nachrichten zu senden.
- Aktualisiere die ChatUser-Klasse, um einen Token-Getter bereitzustellen und die Verbindungsprüfung zu optimieren.
- Ändere die Server-Klasse, um die Benutzerverwaltung bei Raumwechseln zu verbessern und Debug-Informationen hinzuzufügen.
- Optimiere die Socket-Optionen für eine schnellere Fehlererkennung und verbessere die Handhabung von Anfragen.
2025-09-01 15:30:19 +02:00

87 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# YourChat Installations Script
# Installiert die Anwendung als Systemdienst
set -e # Beende bei Fehlern
echo "=== YourChat - Installation Script ==="
# Prüfe ob Build existiert
if [ ! -f "build/yourchat" ]; then
echo "Fehler: Build nicht gefunden. Bitte zuerst ./deploy/build.sh ausführen."
exit 1
fi
# Installationsverzeichnis erstellen
echo "=== Installationsverzeichnis erstellen ==="
sudo mkdir -p /opt/yourchat
sudo mkdir -p /opt/yourchat/config
sudo mkdir -p /opt/yourchat/logs
# Anwendung installieren
echo "=== Anwendung installieren ==="
sudo cp build/yourchat /opt/yourchat/
sudo cp build/ws_probe /opt/yourchat/
sudo chmod +x /opt/yourchat/yourchat
sudo chmod +x /opt/yourchat/ws_probe
# Konfiguration installieren (nur wenn nicht vorhanden)
echo "=== Konfiguration installieren ==="
if [ ! -f "/opt/yourchat/config/chatconfig.json" ]; then
sudo cp config/chatconfig.json /opt/yourchat/config/
echo "Konfigurationsdatei installiert."
else
echo "Konfigurationsdatei existiert bereits - wird nicht überschrieben."
fi
# Systemd Service erstellen
echo "=== Systemd Service erstellen ==="
sudo tee /etc/systemd/system/yourchat.service > /dev/null <<EOF
[Unit]
Description=YourChat Server
After=network.target postgresql.service
[Service]
Type=simple
User=yourchat
Group=yourchat
WorkingDirectory=/opt/yourchat
ExecStart=/opt/yourchat/yourchat
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF
# Benutzer erstellen
echo "=== Benutzer erstellen ==="
if ! id "yourchat" &>/dev/null; then
sudo useradd -r -s /bin/false -d /opt/yourchat yourchat
echo "Benutzer 'yourchat' erstellt."
else
echo "Benutzer 'yourchat' existiert bereits."
fi
# Berechtigungen setzen
echo "=== Berechtigungen setzen ==="
sudo chown -R yourchat:yourchat /opt/yourchat
sudo chmod 755 /opt/yourchat
sudo chmod 644 /opt/yourchat/config/chatconfig.json
# Systemd Service aktivieren
echo "=== Systemd Service aktivieren ==="
sudo systemctl daemon-reload
sudo systemctl enable yourchat.service
echo "=== Installation abgeschlossen! ==="
echo ""
echo "Nächste Schritte:"
echo "1. Konfiguration anpassen: sudo nano /opt/yourchat/config/chatconfig.json"
echo "2. Service starten: sudo systemctl start yourchat"
echo "3. Status prüfen: sudo systemctl status yourchat"
echo "4. Logs anzeigen: sudo journalctl -u yourchat -f"