name: Build and Deploy Fitness App on: push: branches: [ "master" ] jobs: build-and-deploy: runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest volumes: - /opt/fitness:/opt/fitness steps: - name: Checkout Code uses: actions/checkout@v4 - name: Debug - Zeige Verzeichnisinhalt run: | pwd ls -la ls -la apps/api/ || echo "api-Ordner nicht gefunden" ls -la apps/web/ || echo "web-Ordner nicht gefunden" - name: Build Backend Image run: | cd /workspace/robre/fitness-app docker build -f apps/api/Dockerfile -t fitness-api:latest . - name: Build Frontend Image run: | cd /workspace/robre/fitness-app docker build -f apps/web/Dockerfile -t fitness-web:latest . - name: Restart Application run: | docker stop fitness-web fitness-api 2>/dev/null || true docker rm fitness-web fitness-api 2>/dev/null || true cd /workspace/robre/fitness-app docker run -d --name fitness-api --network fitness_proxy-net -v fitness-data:/app/data fitness-api:latest docker run -d --name fitness-web --network fitness_proxy-net -e VIRTUAL_HOST=robre.de,www.robre.de -e LETSENCRYPT_HOST=robre.de,www.robre.de -e VIRTUAL_PORT=80 fitness-web:latest