Behebe YAML-Syntax-Fehler in Docker Compose und verbessere Installationsskripte

• Korrigiere YAML-Syntax-Fehler in docker-compose.yml-Dateien
• Füge automatische Docker-Installation für Raspberry Pi hinzu
• Aktualisiere Installationsdokumentation mit Fehlerbehebungstipps
• Verwende durchgängig docker-compose statt docker compose für bessere Kompatibilität

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Till Tomczak 2025-03-31 14:58:01 +02:00
parent e143f4ab16
commit 05bd3f3f22
6 changed files with 443 additions and 36 deletions

View File

@ -4,9 +4,20 @@ Dieses Dokument beschreibt die Installation des MYP-Systems, bestehend aus einem
## Systemanforderungen
- Docker und Docker Compose
- Zwei Raspberry Pi (oder andere Linux-basierte Computer)
- Netzwerkverbindung zwischen den Geräten
- **Frontend**:
- Raspberry Pi 3B+ oder neuer (empfohlen: Pi 4 mit mindestens 2GB RAM)
- Raspbian/Raspberry Pi OS (64-bit empfohlen)
- Docker und Docker Compose (werden automatisch installiert)
- Internet-Zugang für die Installation
- Zwei Netzwerk-Schnittstellen:
- Eine mit Internet-Zugang
- Eine für die Verbindung zum Backend-Netzwerk
- **Backend**:
- Raspberry Pi 3B+ oder neuer (empfohlen: Pi 4 mit mindestens 2GB RAM)
- Raspbian/Raspberry Pi OS (64-bit empfohlen)
- Docker und Docker Compose (werden automatisch installiert)
- Verbindung zum Druckernetzwerk
## 1. Installation des Backends
@ -22,10 +33,18 @@ ssh pi@raspberry-backend
# In das Projektverzeichnis wechseln
cd /home/pi/myp
# Installations-Skript ausführen
# Installations-Skript ausführbar machen und ausführen
chmod +x install-backend.sh
./install-backend.sh
```
Das Skript erledigt folgende Aufgaben:
- Installation von Docker und Docker Compose (falls nicht vorhanden)
- Erstellung der nötigen Verzeichnisse und Dateien
- Erstellung und Start des Docker-Containers
- Initialisierung der Datenbank
- Überprüfung, ob der Service korrekt läuft
Nach erfolgreicher Installation ist das Backend unter `http://raspberry-backend:5000` erreichbar.
## 2. Installation des Frontends
@ -42,10 +61,17 @@ ssh pi@raspberry-frontend
# In das Projektverzeichnis wechseln
cd /home/pi/myp
# Installations-Skript ausführen
# Installations-Skript ausführbar machen und ausführen
chmod +x install-frontend.sh
./install-frontend.sh
```
Das Skript erledigt folgende Aufgaben:
- Installation von Docker und Docker Compose (falls nicht vorhanden)
- Erstellung der benötigten Verzeichnisse und Dateien
- Erstellung und Start des Docker-Containers
- Überprüfung, ob der Service korrekt läuft
Nach erfolgreicher Installation ist das Frontend unter `http://raspberry-frontend:3000` erreichbar.
## 3. Konfiguration der Verbindung zwischen Frontend und Backend
@ -71,8 +97,8 @@ NEXT_PUBLIC_API_URL=http://raspberry-backend:5000
```bash
cd /home/pi/myp/packages/reservation-platform
docker compose down
docker compose up -d
docker-compose down
docker-compose up -d
```
## 4. Wartung und Fehlerbehebung
@ -94,13 +120,13 @@ docker logs -f myp-frontend
**Backend:**
```bash
cd /pfad/zum/backend
docker compose restart
docker-compose restart
```
**Frontend:**
```bash
cd /pfad/zum/frontend
docker compose restart
docker-compose restart
```
### Datenbank-Reset
@ -110,11 +136,65 @@ Sollte die Datenbank zurückgesetzt werden müssen:
```bash
# Auf dem Backend-Raspberry Pi
cd /home/pi/myp/backend
docker compose down
docker-compose down
rm -f instance/myp.db
docker compose up -d
docker-compose up -d
```
### Docker Compose YAML-Fehler
Wenn Sie einen YAML-Fehler in der Docker Compose-Datei erhalten:
```
yaml: line 12: did not find expected key
```
Überprüfen Sie folgende Punkte:
1. Die Docker Compose-Version könnte veraltet sein. Die Installationsskripte installieren automatisch die richtige Version.
2. Es könnte ein Syntaxfehler in der YAML-Datei vorliegen. Prüfen Sie insbesondere komplexe Werte wie JSON-Strings.
Fehlerbehebung:
```bash
# Auf dem betroffenen Server
cd /home/pi/myp
# Für das Backend
nano backend/docker-compose.yml
# Für das Frontend
nano packages/reservation-platform/docker-compose.yml
```
### Docker-Daemon läuft nicht
Wenn Sie die Fehlermeldung erhalten, dass der Docker-Daemon nicht läuft:
```
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
```
Starten Sie den Docker-Daemon:
```bash
sudo systemctl start docker
# oder
sudo service docker start
```
### Container startet nicht
Wenn der Container nicht startet, prüfen Sie die Logs:
```bash
docker logs myp-backend
# oder
docker logs myp-frontend
```
### Frontend kann nicht auf Backend zugreifen
1. Stellen Sie sicher, dass beide Server im selben Netzwerk sind
2. Überprüfen Sie die Firewall-Einstellungen
3. Stellen Sie sicher, dass der Backend-Service auf Port 5000 läuft
4. Stellen Sie sicher, dass die richtige Backend-URL in der .env-Datei des Frontends eingestellt ist
## 5. Automatischer Start beim Systemstart
Die Docker-Container sind so konfiguriert, dass sie automatisch beim Neustart der Geräte starten (`restart: unless-stopped`).
@ -123,10 +203,10 @@ Sollte dies nicht funktionieren, kann der Start in die `/etc/rc.local` eingetrag
```bash
# Auf dem Backend-Raspberry Pi
echo "cd /home/pi/myp/backend && docker compose up -d" >> /etc/rc.local
echo "cd /home/pi/myp/backend && docker-compose up -d" >> /etc/rc.local
# Auf dem Frontend-Raspberry Pi
echo "cd /home/pi/myp/packages/reservation-platform && docker compose up -d" >> /etc/rc.local
echo "cd /home/pi/myp/packages/reservation-platform && docker-compose up -d" >> /etc/rc.local
```
## 6. Technische Details
@ -135,3 +215,28 @@ echo "cd /home/pi/myp/packages/reservation-platform && docker compose up -d" >>
- Das Frontend ist eine Next.js-Anwendung
- Beide Komponenten laufen in Docker-Containern mit Host-Netzwerkanbindung
- Die Datenbanken werden in Docker-Volumes persistiert
## 7. Raspberry Pi-spezifische Anmerkungen
Wenn Sie Probleme mit der Docker-Installation auf dem Raspberry Pi haben, können Sie folgende Schritte manuell ausführen:
```bash
# Docker für Raspberry Pi installieren
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Docker Compose für die richtige Architektur installieren
# Für 32-bit (armhf):
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-armv7" -o /usr/local/bin/docker-compose
# Für 64-bit (arm64):
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-aarch64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
```
## 8. Unterstützung
Bei Fragen oder Problemen wenden Sie sich an:
- Till Tomczak (Projektentwickler)

View File

@ -2,4 +2,4 @@ SECRET_KEY=7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F
DATABASE_PATH=instance/myp.db
TAPO_USERNAME=till.tomczak@mercedes-benz.com
TAPO_PASSWORD=744563017196A
PRINTERS = {"Printer 1": {"ip": "192.168.0.100"}, "Printer 2": {"ip": "192.168.0.101"}, "Printer 3": {"ip": "192.168.0.102"}, "Printer 4": {"ip": "192.168.0.103"}, "Printer 5": {"ip": "192.168.0.104"}, "Printer 6": {"ip": "192.168.0.106"}}
PRINTERS={"Printer 1": {"ip": "192.168.0.100"}, "Printer 2": {"ip": "192.168.0.101"}, "Printer 3": {"ip": "192.168.0.102"}, "Printer 4": {"ip": "192.168.0.103"}, "Printer 5": {"ip": "192.168.0.104"}, "Printer 6": {"ip": "192.168.0.106"}}

View File

@ -1,4 +1,4 @@
version: '3'
version: '2'
services:
backend:
@ -10,7 +10,7 @@ services:
- DATABASE_PATH=${DATABASE_PATH:-instance/myp.db}
- TAPO_USERNAME=${TAPO_USERNAME:-till.tomczak@mercedes-benz.com}
- TAPO_PASSWORD=${TAPO_PASSWORD:-744563017196A}
- PRINTERS=${PRINTERS:-{"Printer 1": {"ip": "192.168.0.100"}, "Printer 2": {"ip": "192.168.0.101"}, "Printer 3": {"ip": "192.168.0.102"}, "Printer 4": {"ip": "192.168.0.103"}, "Printer 5": {"ip": "192.168.0.104"}, "Printer 6": {"ip": "192.168.0.106"}}}
- PRINTERS='${PRINTERS:-{"Printer 1": {"ip": "192.168.0.100"}, "Printer 2": {"ip": "192.168.0.101"}, "Printer 3": {"ip": "192.168.0.102"}, "Printer 4": {"ip": "192.168.0.103"}, "Printer 5": {"ip": "192.168.0.104"}, "Printer 6": {"ip": "192.168.0.106"}}}'
- FLASK_APP=app.py
- PYTHONUNBUFFERED=1
volumes:

View File

@ -29,17 +29,168 @@ if [ ! -d "$BACKEND_DIR" ]; then
exit 1
fi
# Funktion zur Installation von Docker und Docker Compose für Raspberry Pi
install_docker() {
log "${YELLOW}Docker ist nicht installiert. Installation wird gestartet...${NC}"
# Erkenne Raspberry Pi
if [ -f /proc/device-tree/model ] && grep -q "Raspberry Pi" /proc/device-tree/model; then
log "${GREEN}Raspberry Pi erkannt. Installiere Docker für ARM-Architektur...${NC}"
IS_RASPBERRY_PI=true
else
IS_RASPBERRY_PI=false
fi
# Aktualisiere Paketindex
if ! sudo apt-get update; then
error_log "Konnte Paketindex nicht aktualisieren. Bitte manuell installieren."
exit 1
fi
# Installiere erforderliche Pakete
if ! sudo apt-get install -y apt-transport-https ca-certificates curl gnupg software-properties-common; then
error_log "Konnte erforderliche Pakete nicht installieren. Bitte manuell installieren."
exit 1
fi
# Raspberry Pi-spezifische Installation
if [ "$IS_RASPBERRY_PI" = true ]; then
# Setze Systemarchitektur für Raspberry Pi (armhf oder arm64)
ARCH=$(dpkg --print-architecture)
log "Erkannte Systemarchitektur: ${ARCH}"
# Installiere Docker mit convenience script (für Raspberry Pi empfohlen)
log "${YELLOW}Installiere Docker mit dem convenience script...${NC}"
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
if [ $? -ne 0 ]; then
error_log "Docker-Installation fehlgeschlagen. Bitte manuell installieren."
exit 1
fi
else
# Standard-Installation für andere Systeme
# Füge Docker's offiziellen GPG-Schlüssel hinzu
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Füge Docker-Repository hinzu
if ! sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"; then
error_log "Konnte Docker-Repository nicht hinzufügen. Prüfen Sie, ob Ihr System unterstützt wird."
exit 1
fi
# Aktualisiere Paketindex erneut
sudo apt-get update
# Installiere Docker
if ! sudo apt-get install -y docker-ce docker-ce-cli containerd.io; then
error_log "Konnte Docker nicht installieren. Bitte manuell installieren."
exit 1
fi
fi
# Füge aktuellen Benutzer zur Docker-Gruppe hinzu
sudo usermod -aG docker "$USER"
log "${GREEN}Docker wurde installiert.${NC}"
log "${YELLOW}WICHTIG: Möglicherweise müssen Sie sich neu anmelden, damit die Gruppenänderung wirksam wird.${NC}"
# Installiere Docker Compose v1 (für ältere Systeme besser kompatibel)
log "${YELLOW}Installiere Docker Compose...${NC}"
if [ "$IS_RASPBERRY_PI" = true ]; then
# Für Raspberry Pi ist es besser, die richtige Architektur zu verwenden
if [ "$ARCH" = "armhf" ]; then
log "Installiere Docker Compose für armhf (32-bit)..."
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-armv7" -o /usr/local/bin/docker-compose
elif [ "$ARCH" = "arm64" ]; then
log "Installiere Docker Compose für arm64 (64-bit)..."
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-aarch64" -o /usr/local/bin/docker-compose
else
log "Verwende automatische Architekturerkennung für Docker Compose..."
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
fi
else
# Für andere Systeme
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
fi
if [ $? -ne 0 ]; then
error_log "Konnte Docker Compose nicht herunterladen. Bitte manuell installieren."
exit 1
fi
sudo chmod +x /usr/local/bin/docker-compose
log "${GREEN}Docker Compose wurde installiert.${NC}"
# Starte Docker-Dienst
if command -v systemctl &> /dev/null; then
sudo systemctl enable docker
sudo systemctl start docker
elif command -v service &> /dev/null; then
sudo service docker enable
sudo service docker start
fi
}
# Prüfen ob Docker installiert ist
if ! command -v docker &> /dev/null; then
error_log "Docker ist nicht installiert. Bitte installieren Sie Docker."
log "Siehe: https://docs.docker.com/get-docker/"
exit 1
log "${YELLOW}Docker ist nicht installiert.${NC}"
read -p "Möchten Sie Docker installieren? (j/n): " install_docker_choice
if [[ "$install_docker_choice" == "j" ]]; then
install_docker
else
error_log "Docker wird für die Installation benötigt. Bitte installieren Sie Docker manuell."
log "Siehe: https://docs.docker.com/get-docker/"
exit 1
fi
fi
if ! command -v docker compose &> /dev/null; then
error_log "Docker Compose ist nicht installiert. Bitte installieren Sie Docker Compose."
log "Siehe: https://docs.docker.com/compose/install/"
exit 1
# Prüfen ob Docker Daemon läuft
if ! docker info &> /dev/null; then
log "${YELLOW}Docker-Daemon läuft nicht. Versuche, den Dienst zu starten...${NC}"
# Versuche, Docker zu starten
if command -v systemctl &> /dev/null; then
sudo systemctl start docker
elif command -v service &> /dev/null; then
sudo service docker start
else
error_log "Konnte Docker-Daemon nicht starten. Bitte starten Sie den Docker-Dienst manuell."
log "Starten mit: sudo systemctl start docker oder sudo service docker start"
exit 1
fi
# Prüfe erneut, ob Docker läuft
if ! docker info &> /dev/null; then
error_log "Docker-Daemon konnte nicht gestartet werden. Bitte starten Sie den Docker-Dienst manuell."
exit 1
fi
log "${GREEN}Docker-Daemon wurde erfolgreich gestartet.${NC}"
fi
# Prüfen ob Docker Compose installiert ist
if ! command -v docker-compose &> /dev/null; then
log "${YELLOW}Docker Compose ist nicht installiert.${NC}"
read -p "Möchten Sie Docker Compose installieren? (j/n): " install_compose_choice
if [[ "$install_compose_choice" == "j" ]]; then
log "${YELLOW}Installiere Docker Compose...${NC}"
if ! sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose; then
error_log "Konnte Docker Compose nicht herunterladen. Bitte manuell installieren."
exit 1
fi
sudo chmod +x /usr/local/bin/docker-compose
log "${GREEN}Docker Compose wurde installiert.${NC}"
else
error_log "Docker Compose wird für die Installation benötigt. Bitte installieren Sie es manuell."
log "Siehe: https://docs.docker.com/compose/install/"
exit 1
fi
fi
# Prüfen ob wget installiert ist (wird für healthcheck verwendet)
@ -98,7 +249,7 @@ fi
# Docker-Image bauen und starten
log "${YELLOW}Baue und starte Backend-Container...${NC}"
if ! docker compose up -d --build; then
if ! docker-compose up -d --build; then
error_log "Docker Compose fehlgeschlagen. Siehe Fehlermeldung oben."
exit 1
fi
@ -157,4 +308,4 @@ fi
log "${GREEN}=== Installation abgeschlossen ===${NC}"
log "Das Backend ist unter http://localhost:5000 erreichbar"
log "Anzeigen der Logs: docker logs -f myp-backend"
log "Backend stoppen: docker compose -f $BACKEND_DIR/docker-compose.yml down"
log "Backend stoppen: docker-compose -f $BACKEND_DIR/docker-compose.yml down"

View File

@ -29,17 +29,168 @@ if [ ! -d "$FRONTEND_DIR" ]; then
exit 1
fi
# Funktion zur Installation von Docker und Docker Compose für Raspberry Pi
install_docker() {
log "${YELLOW}Docker ist nicht installiert. Installation wird gestartet...${NC}"
# Erkenne Raspberry Pi
if [ -f /proc/device-tree/model ] && grep -q "Raspberry Pi" /proc/device-tree/model; then
log "${GREEN}Raspberry Pi erkannt. Installiere Docker für ARM-Architektur...${NC}"
IS_RASPBERRY_PI=true
else
IS_RASPBERRY_PI=false
fi
# Aktualisiere Paketindex
if ! sudo apt-get update; then
error_log "Konnte Paketindex nicht aktualisieren. Bitte manuell installieren."
exit 1
fi
# Installiere erforderliche Pakete
if ! sudo apt-get install -y apt-transport-https ca-certificates curl gnupg software-properties-common; then
error_log "Konnte erforderliche Pakete nicht installieren. Bitte manuell installieren."
exit 1
fi
# Raspberry Pi-spezifische Installation
if [ "$IS_RASPBERRY_PI" = true ]; then
# Setze Systemarchitektur für Raspberry Pi (armhf oder arm64)
ARCH=$(dpkg --print-architecture)
log "Erkannte Systemarchitektur: ${ARCH}"
# Installiere Docker mit convenience script (für Raspberry Pi empfohlen)
log "${YELLOW}Installiere Docker mit dem convenience script...${NC}"
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
if [ $? -ne 0 ]; then
error_log "Docker-Installation fehlgeschlagen. Bitte manuell installieren."
exit 1
fi
else
# Standard-Installation für andere Systeme
# Füge Docker's offiziellen GPG-Schlüssel hinzu
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Füge Docker-Repository hinzu
if ! sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"; then
error_log "Konnte Docker-Repository nicht hinzufügen. Prüfen Sie, ob Ihr System unterstützt wird."
exit 1
fi
# Aktualisiere Paketindex erneut
sudo apt-get update
# Installiere Docker
if ! sudo apt-get install -y docker-ce docker-ce-cli containerd.io; then
error_log "Konnte Docker nicht installieren. Bitte manuell installieren."
exit 1
fi
fi
# Füge aktuellen Benutzer zur Docker-Gruppe hinzu
sudo usermod -aG docker "$USER"
log "${GREEN}Docker wurde installiert.${NC}"
log "${YELLOW}WICHTIG: Möglicherweise müssen Sie sich neu anmelden, damit die Gruppenänderung wirksam wird.${NC}"
# Installiere Docker Compose v1 (für ältere Systeme besser kompatibel)
log "${YELLOW}Installiere Docker Compose...${NC}"
if [ "$IS_RASPBERRY_PI" = true ]; then
# Für Raspberry Pi ist es besser, die richtige Architektur zu verwenden
if [ "$ARCH" = "armhf" ]; then
log "Installiere Docker Compose für armhf (32-bit)..."
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-armv7" -o /usr/local/bin/docker-compose
elif [ "$ARCH" = "arm64" ]; then
log "Installiere Docker Compose für arm64 (64-bit)..."
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-aarch64" -o /usr/local/bin/docker-compose
else
log "Verwende automatische Architekturerkennung für Docker Compose..."
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
fi
else
# Für andere Systeme
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
fi
if [ $? -ne 0 ]; then
error_log "Konnte Docker Compose nicht herunterladen. Bitte manuell installieren."
exit 1
fi
sudo chmod +x /usr/local/bin/docker-compose
log "${GREEN}Docker Compose wurde installiert.${NC}"
# Starte Docker-Dienst
if command -v systemctl &> /dev/null; then
sudo systemctl enable docker
sudo systemctl start docker
elif command -v service &> /dev/null; then
sudo service docker enable
sudo service docker start
fi
}
# Prüfen ob Docker installiert ist
if ! command -v docker &> /dev/null; then
error_log "Docker ist nicht installiert. Bitte installieren Sie Docker."
log "Siehe: https://docs.docker.com/get-docker/"
exit 1
log "${YELLOW}Docker ist nicht installiert.${NC}"
read -p "Möchten Sie Docker installieren? (j/n): " install_docker_choice
if [[ "$install_docker_choice" == "j" ]]; then
install_docker
else
error_log "Docker wird für die Installation benötigt. Bitte installieren Sie Docker manuell."
log "Siehe: https://docs.docker.com/get-docker/"
exit 1
fi
fi
if ! command -v docker compose &> /dev/null; then
error_log "Docker Compose ist nicht installiert. Bitte installieren Sie Docker Compose."
log "Siehe: https://docs.docker.com/compose/install/"
exit 1
# Prüfen ob Docker Daemon läuft
if ! docker info &> /dev/null; then
log "${YELLOW}Docker-Daemon läuft nicht. Versuche, den Dienst zu starten...${NC}"
# Versuche, Docker zu starten
if command -v systemctl &> /dev/null; then
sudo systemctl start docker
elif command -v service &> /dev/null; then
sudo service docker start
else
error_log "Konnte Docker-Daemon nicht starten. Bitte starten Sie den Docker-Dienst manuell."
log "Starten mit: sudo systemctl start docker oder sudo service docker start"
exit 1
fi
# Prüfe erneut, ob Docker läuft
if ! docker info &> /dev/null; then
error_log "Docker-Daemon konnte nicht gestartet werden. Bitte starten Sie den Docker-Dienst manuell."
exit 1
fi
log "${GREEN}Docker-Daemon wurde erfolgreich gestartet.${NC}"
fi
# Prüfen ob Docker Compose installiert ist
if ! command -v docker-compose &> /dev/null; then
log "${YELLOW}Docker Compose ist nicht installiert.${NC}"
read -p "Möchten Sie Docker Compose installieren? (j/n): " install_compose_choice
if [[ "$install_compose_choice" == "j" ]]; then
log "${YELLOW}Installiere Docker Compose...${NC}"
if ! sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose; then
error_log "Konnte Docker Compose nicht herunterladen. Bitte manuell installieren."
exit 1
fi
sudo chmod +x /usr/local/bin/docker-compose
log "${GREEN}Docker Compose wurde installiert.${NC}"
else
error_log "Docker Compose wird für die Installation benötigt. Bitte installieren Sie es manuell."
log "Siehe: https://docs.docker.com/compose/install/"
exit 1
fi
fi
# Prüfen ob wget installiert ist (wird für healthcheck verwendet)
@ -105,7 +256,7 @@ fi
# Docker-Image bauen und starten
log "${YELLOW}Baue und starte Frontend-Container...${NC}"
if ! docker compose up -d --build; then
if ! docker-compose up -d --build; then
error_log "Docker Compose fehlgeschlagen. Siehe Fehlermeldung oben."
exit 1
fi
@ -168,4 +319,4 @@ fi
log "${GREEN}=== Installation abgeschlossen ===${NC}"
log "Das Frontend ist unter http://localhost:3000 erreichbar"
log "Anzeigen der Logs: docker logs -f myp-frontend"
log "Frontend stoppen: docker compose -f $FRONTEND_DIR/docker-compose.yml down"
log "Frontend stoppen: docker-compose -f $FRONTEND_DIR/docker-compose.yml down"

View File

@ -1,4 +1,4 @@
version: '3'
version: '2'
services:
frontend: