"feat: Added debug server and related components for improved development experience"
This commit is contained in:
80
config/README.md
Normal file
80
config/README.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# MYP-Projekt Service-Installation
|
||||
|
||||
Diese Anleitung beschreibt, wie der MYP-Projektservice als systemd-Dienst eingerichtet wird, damit das System beim Booten automatisch startet.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Docker und Docker Compose sind installiert
|
||||
- sudo-Rechte auf dem System
|
||||
|
||||
## Installation des Services
|
||||
|
||||
1. Bearbeiten Sie die Datei `myp-service.service` und passen Sie die Pfade an:
|
||||
|
||||
- Ersetzen Sie `/path/to/Projektarbeit-MYP` mit dem tatsächlichen Pfad zum Projektverzeichnis
|
||||
2. Kopieren Sie die Service-Datei in das systemd-Verzeichnis:
|
||||
|
||||
```bash
|
||||
sudo cp myp-service.service /etc/systemd/system/
|
||||
```
|
||||
3. Aktualisieren Sie die systemd-Konfiguration:
|
||||
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
4. Aktivieren Sie den Service, damit er beim Booten startet:
|
||||
|
||||
```bash
|
||||
sudo systemctl enable myp-service
|
||||
```
|
||||
5. Starten Sie den Service:
|
||||
|
||||
```bash
|
||||
sudo systemctl start myp-service
|
||||
```
|
||||
|
||||
## Überprüfen des Service-Status
|
||||
|
||||
Um den Status des Services zu überprüfen:
|
||||
|
||||
```bash
|
||||
sudo systemctl status myp-service
|
||||
```
|
||||
|
||||
## Stoppen des Services
|
||||
|
||||
Um den Service zu stoppen:
|
||||
|
||||
```bash
|
||||
sudo systemctl stop myp-service
|
||||
```
|
||||
|
||||
## Deaktivieren des Autostart
|
||||
|
||||
Um den automatischen Start zu deaktivieren:
|
||||
|
||||
```bash
|
||||
sudo systemctl disable myp-service
|
||||
```
|
||||
|
||||
## Fehlerbehebung
|
||||
|
||||
Überprüfen Sie die Logs bei Problemen:
|
||||
|
||||
```bash
|
||||
journalctl -u myp-service
|
||||
```
|
||||
|
||||
## Hinweis für Windows-Systeme
|
||||
|
||||
Für Windows-Systeme empfehlen wir die Verwendung des Task-Schedulers:
|
||||
|
||||
1. Öffnen Sie den Task-Scheduler (taskschd.msc)
|
||||
2. Erstellen Sie eine neue Aufgabe:
|
||||
- Trigger: "Bei Start"
|
||||
- Aktion: "Programm starten"
|
||||
- Programm/Skript: `powershell.exe`
|
||||
- Argumente: `-ExecutionPolicy Bypass -File "C:\Pfad\zu\Projektarbeit-MYP\start.ps1"`
|
||||
- "Mit höchsten Privilegien ausführen" aktivieren
|
||||
|
||||
Dadurch wird das MYP-Projekt automatisch beim Systemstart gestartet.
|
||||
58
config/install-linux-service.sh
Normal file
58
config/install-linux-service.sh
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
# MYP-Projekt systemd-Service Installationsskript
|
||||
|
||||
# Überprüfen, ob das Skript mit Root-Rechten ausgeführt wird
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Bitte führen Sie dieses Skript mit Root-Rechten aus (sudo)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ermitteln des Projektpfads
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
|
||||
echo "MYP-Projekt Service-Installation"
|
||||
echo "================================"
|
||||
echo "Projektpfad: $PROJECT_DIR"
|
||||
|
||||
# Kopieren der Service-Datei mit angepasstem Pfad
|
||||
echo "Erstelle systemd-Service-Datei..."
|
||||
cp "$SCRIPT_DIR/myp-service.service" /tmp/myp-service.service
|
||||
sed -i "s|/path/to/Projektarbeit-MYP|$PROJECT_DIR|g" /tmp/myp-service.service
|
||||
|
||||
# Kopieren der Service-Datei in das systemd-Verzeichnis
|
||||
echo "Installiere systemd-Service..."
|
||||
cp /tmp/myp-service.service /etc/systemd/system/
|
||||
rm /tmp/myp-service.service
|
||||
|
||||
# Setze Ausführungsrechte für das Start-Skript
|
||||
chmod +x "$PROJECT_DIR/start.sh"
|
||||
|
||||
# Systemd aktualisieren
|
||||
echo "Aktualisiere systemd..."
|
||||
systemctl daemon-reload
|
||||
|
||||
# Service aktivieren
|
||||
echo "Aktiviere Service für Autostart..."
|
||||
systemctl enable myp-service
|
||||
|
||||
echo
|
||||
echo "Installation abgeschlossen."
|
||||
echo "Möchten Sie den Service jetzt starten? (j/n)"
|
||||
read -r ANTWORT
|
||||
|
||||
if [[ "$ANTWORT" =~ ^[Jj]$ ]]; then
|
||||
echo "Starte MYP-Projekt Service..."
|
||||
systemctl start myp-service
|
||||
|
||||
# Status anzeigen
|
||||
echo
|
||||
echo "Service-Status:"
|
||||
systemctl status myp-service --no-pager
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Sie können den Service-Status jederzeit mit folgendem Befehl überprüfen:"
|
||||
echo " sudo systemctl status myp-service"
|
||||
echo
|
||||
echo "Der MYP-Projekt Service wird nun bei jedem Systemstart automatisch gestartet."
|
||||
66
config/install-windows-service.bat
Normal file
66
config/install-windows-service.bat
Normal file
@@ -0,0 +1,66 @@
|
||||
@echo off
|
||||
echo MYP-Projekt Autostart-Einrichtung
|
||||
echo =================================
|
||||
|
||||
REM Erfordert Admin-Rechte
|
||||
NET SESSION >nul 2>&1
|
||||
IF %ERRORLEVEL% NEQ 0 (
|
||||
echo Bitte führen Sie dieses Skript mit Administratorrechten aus.
|
||||
echo Klicken Sie mit der rechten Maustaste und wählen Sie "Als Administrator ausführen".
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Pfad zum Projektverzeichnis ermitteln
|
||||
set SCRIPT_DIR=%~dp0
|
||||
set PROJECT_DIR=%SCRIPT_DIR%..
|
||||
cd %PROJECT_DIR%
|
||||
set PROJECT_PATH=%CD%
|
||||
|
||||
echo.
|
||||
echo Projektpfad: %PROJECT_PATH%
|
||||
|
||||
REM Erstellung der PowerShell-Skriptdatei für den Task
|
||||
echo Erstelle PowerShell-Skriptdatei für den Windows Task...
|
||||
set PS_SCRIPT=%PROJECT_PATH%\config\secure\myp-autostart.ps1
|
||||
|
||||
if not exist "%PROJECT_PATH%\config\secure" mkdir "%PROJECT_PATH%\config\secure"
|
||||
|
||||
echo $ErrorActionPreference = "Stop" > "%PS_SCRIPT%"
|
||||
echo try { >> "%PS_SCRIPT%"
|
||||
echo Write-Host "Starte MYP-Projekt..." >> "%PS_SCRIPT%"
|
||||
echo Set-Location -Path "%PROJECT_PATH%" >> "%PS_SCRIPT%"
|
||||
echo Start-Process -FilePath "powershell.exe" -ArgumentList "-ExecutionPolicy Bypass -File '%PROJECT_PATH%\start.ps1'" >> "%PS_SCRIPT%"
|
||||
echo Write-Host "MYP-Projekt erfolgreich gestartet" >> "%PS_SCRIPT%"
|
||||
echo } catch { >> "%PS_SCRIPT%"
|
||||
echo $ErrorMessage = $_.Exception.Message >> "%PS_SCRIPT%"
|
||||
echo Write-Host "Fehler beim Starten des MYP-Projekts: $ErrorMessage" >> "%PS_SCRIPT%"
|
||||
echo Add-Content -Path "%PROJECT_PATH%\logs\autostart_error.log" -Value "$(Get-Date) - Fehler: $ErrorMessage" >> "%PS_SCRIPT%"
|
||||
echo exit 1 >> "%PS_SCRIPT%"
|
||||
echo } >> "%PS_SCRIPT%"
|
||||
|
||||
REM Erstellung des geplanten Tasks
|
||||
echo Erstelle geplanten Windows Task...
|
||||
schtasks /create /tn "MYP-Projekt Autostart" /sc onstart /delay 0000:30 /ru "System" /rl highest /tr "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -File \"%PS_SCRIPT%\"" /f
|
||||
|
||||
if %ERRORLEVEL% NEQ 0 (
|
||||
echo Fehler bei der Erstellung des geplanten Tasks.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Der MYP-Projekt Autostart wurde erfolgreich eingerichtet.
|
||||
echo Das System wird nun bei jedem Systemstart automatisch das MYP-Projekt starten.
|
||||
echo.
|
||||
echo Möchten Sie das Projekt jetzt starten?
|
||||
choice /c JN /m "Projekt jetzt starten (J/N)?"
|
||||
|
||||
if %ERRORLEVEL% EQU 1 (
|
||||
echo Starte MYP-Projekt...
|
||||
powershell.exe -ExecutionPolicy Bypass -File "%PROJECT_PATH%\start.ps1"
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Installation abgeschlossen.
|
||||
pause
|
||||
14
config/myp-service.service
Normal file
14
config/myp-service.service
Normal file
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=MYP Projektarbeit Service
|
||||
After=docker.service network.target
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
WorkingDirectory=/path/to/Projektarbeit-MYP
|
||||
ExecStart=/path/to/Projektarbeit-MYP/start.sh
|
||||
ExecStop=/usr/bin/docker-compose -f /path/to/Projektarbeit-MYP/docker-compose.yml down
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user