name: Deploy App on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: Deploy to Server run: | APP_DIR="/opt/aicds/apps/${GITHUB_REPOSITORY#*/}" mkdir -p $APP_DIR cp -a . $APP_DIR/ cd $APP_DIR docker compose down || true docker compose up -d --build docker image prune -f - name: Traefik-Diagnose run: | TID=$(docker ps --filter name=traefik -q | head -1) echo "--- Traefik-Container ---" docker ps --filter name=traefik --format '{{.Names}} {{.Image}} {{.Status}}' echo "--- Traefik-Kommando ---" docker inspect -f '{{range .Config.Cmd}}{{.}}{{println}}{{end}}' $TID || true echo "--- Traefik-Netzwerke ---" docker inspect -f '{{range $k,$v := .NetworkSettings.Networks}}{{$k}} {{end}}' $TID || true echo "--- App-Container mit traefik.enable=true ---" for c in $(docker ps -q); do N=$(docker inspect -f '{{.Name}}' $c) E=$(docker inspect -f '{{index .Config.Labels "traefik.enable"}}' $c) NW=$(docker inspect -f '{{range $k,$v := .NetworkSettings.Networks}}{{$k}} {{end}}' $c) if [ "$E" = "true" ]; then echo "$N netze=$NW"; fi done echo "--- Traefik-Log, letzte 40 Zeilen ---" docker logs --tail=40 $TID 2>&1 | tail -40 || true