collabrix/SERVICE_MANAGER_README.md
DGSoft 9daab3cdf4 Add Service Manager for Background Services
- service-manager.sh: Comprehensive service management script
- Start/stop backend and frontend as background services
- Status monitoring and log management
- Individual service control (start-backend, stop-frontend, etc.)
- SERVICE_MANAGER_README.md: Complete documentation
- PID file management for process tracking
- Colored output and error handling
- Production-ready with systemd integration examples
2025-12-09 22:31:57 +01:00

143 lines
3.3 KiB
Markdown

# Team Chat System - Service Manager
Das `service-manager.sh` Script ermöglicht es, Backend und Frontend als Hintergrund-Services zu starten und zu verwalten.
## 🚀 Schnellstart
```bash
# Starte beide Services
./service-manager.sh start
# Zeige Status
./service-manager.sh status
# Stoppe beide Services
./service-manager.sh stop
```
## 📋 Verfügbare Commands
### Grundlegende Commands
- `start` - Startet Backend und Frontend
- `stop` - Stoppt Backend und Frontend
- `restart` - Startet beide Services neu
- `status` - Zeigt den aktuellen Status an
### Individuelle Services
- `start-backend` - Startet nur das Backend
- `start-frontend` - Startet nur das Frontend
- `stop-backend` - Stoppt nur das Backend
- `stop-frontend` - Stoppt nur das Frontend
### Logging
- `logs backend [zeilen]` - Zeigt Backend-Logs (Standard: 50 Zeilen)
- `logs frontend [zeilen]` - Zeigt Frontend-Logs (Standard: 50 Zeilen)
## 📁 Dateien und Verzeichnisse
```
logs/
├── backend.log # Backend-Ausgaben
├── frontend.log # Frontend-Ausgaben
├── backend.pid # Backend-Prozess-ID
└── frontend.pid # Frontend-Prozess-ID
```
## 🌐 Zugriffe
Nach dem Start sind verfügbar:
- **Frontend:** http://192.168.0.12
- **Backend API:** http://localhost:8000
- **API Docs:** http://localhost:8000/docs
## 🔧 Troubleshooting
### Services starten nicht
```bash
# Prüfe Logs
./service-manager.sh logs backend
./service-manager.sh logs frontend
# Prüfe Status
./service-manager.sh status
```
### Services gewaltsam stoppen
```bash
# Einzelne Services
./service-manager.sh stop-backend
./service-manager.sh stop-frontend
# Oder alles
./service-manager.sh stop
```
### Log-Verzeichnis aufräumen
```bash
rm -rf logs/
```
## 📊 Beispiel-Session
```bash
# System starten
$ ./service-manager.sh start
[2025-12-09 22:15:30] Starte Team Chat System...
[2025-12-09 22:15:30] Starte Backend-Server...
[2025-12-09 22:15:32] ✅ Backend gestartet (PID: 12345)
[2025-12-09 22:15:32] 📍 API: http://localhost:8000
[2025-12-09 22:15:32] 📚 Docs: http://localhost:8000/docs
[2025-12-09 22:15:32] 📄 Logs: /home/OfficeDesk/logs/backend.log
[2025-12-09 22:15:32] Starte Frontend-Server...
[2025-12-09 22:15:35] ✅ Frontend gestartet (PID: 12346)
[2025-12-09 22:15:35] 📍 App: http://192.168.0.12
[2025-12-09 22:15:35] 📄 Logs: /home/OfficeDesk/logs/frontend.log
=== Team Chat System Status ===
🟢 Backend: Läuft (PID: 12345)
📍 API: http://localhost:8000
📚 Docs: http://localhost:8000/docs
🟢 Frontend: Läuft (PID: 12346)
📍 App: http://192.168.0.12
📁 Logs: /home/OfficeDesk/logs
```
## 🔄 Automatisches Starten
### Systemd Service (empfohlen für Production)
```bash
# Service-Datei erstellen
sudo nano /etc/systemd/system/teamchat.service
# Inhalt:
[Unit]
Description=Team Chat System
After=network.target
[Service]
Type=simple
User=your_user
WorkingDirectory=/home/OfficeDesk
ExecStart=/home/OfficeDesk/service-manager.sh start
ExecStop=/home/OfficeDesk/service-manager.sh stop
Restart=always
[Install]
WantedBy=multi-user.target
# Service aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable teamchat
sudo systemctl start teamchat
```
### Cron-Job für automatischen Start beim Boot
```bash
# Cron-Job hinzufügen
crontab -e
# Füge hinzu:
@reboot /home/OfficeDesk/service-manager.sh start
```