fix(ci): Fix Hetzner deploy — host filesystem access + network + dependencies
Some checks failed
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 37s
CI/CD / test-python-backend-compliance (push) Successful in 36s
CI/CD / test-python-document-crawler (push) Successful in 23s
CI/CD / test-python-dsms-gateway (push) Successful in 21s
CI/CD / deploy-hetzner (push) Failing after 7s

Problems fixed:
1. Deploy step couldn't access /opt/breakpilot-compliance (host path not
   mounted in runner container). Now uses alpine/git helper container with
   host bind-mount for git ops, then docker compose with host paths.
2. breakpilot-network was external:true but Core doesn't run on Hetzner.
   Override in hetzner.yml creates the network automatically.
3. core-health-check blocks startup waiting for Core. Override in
   hetzner.yml makes it exit immediately.
4. RAG ingestion script now respects RAG_URL/QDRANT_URL env vars.
5. RAG workflow discovers network dynamically from running containers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-11 18:11:05 +01:00
parent 23b9808bf3
commit 339505feed
3 changed files with 121 additions and 42 deletions

View File

@@ -3,23 +3,48 @@
# =========================================================
# Verwendung: docker compose -f docker-compose.yml -f docker-compose.hetzner.yml up -d
#
# Entfernt ARM64-Platform-Constraint (Hetzner = x86_64/amd64)
# und passt Hetzner-spezifische Einstellungen an.
# Aenderungen gegenueber docker-compose.yml:
# - Platform: arm64 → amd64 (Hetzner = x86_64)
# - Network: external → auto-create (kein breakpilot-core auf Hetzner)
# - depends_on: core-health-check entfernt (kein Core auf Hetzner)
# - API URLs: auf Hetzner-interne Adressen angepasst
# =========================================================
# Auf Hetzner laeuft kein breakpilot-core, daher Network selbst erstellen
networks:
breakpilot-network:
external: false
name: breakpilot-network
services:
# Core-Health-Check deaktivieren (Core laeuft nicht auf Hetzner)
core-health-check:
entrypoint: ["sh", "-c", "echo 'Core health check skipped on Hetzner' && exit 0"]
restart: "no"
admin-compliance:
platform: linux/amd64
depends_on:
core-health-check:
condition: service_completed_successfully
backend-compliance:
condition: service_started
developer-portal:
platform: linux/amd64
backend-compliance:
platform: linux/amd64
depends_on:
core-health-check:
condition: service_completed_successfully
ai-compliance-sdk:
platform: linux/amd64
depends_on:
core-health-check:
condition: service_completed_successfully
compliance-tts-service:
platform: linux/amd64