chore: archive — remove compliance duplicates, migrate all services to core/lehrer/compliance
Some checks failed
ci/woodpecker/push/integration Pipeline failed
ci/woodpecker/push/main Pipeline failed
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled

Removed: ai-compliance-sdk, dsms-node, dsms-gateway, developer-portal, night-scheduler
Removed nginx proxy: /sdk/v1/ from port 3002, port 3006, port 8093
All services now in breakpilot-core, breakpilot-lehrer, or breakpilot-compliance

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
BreakPilot Dev
2026-02-14 19:44:10 +01:00
parent 557305db5d
commit 71cde313d5
3 changed files with 40 additions and 223 deletions

View File

@@ -16,9 +16,7 @@ services:
- "8000:8000" # HTTPS Backend API
- "8086:8086" # HTTPS Klausur Service
- "8089:8089" # HTTPS Edu-Search proxy (edu-search runs on 8088)
- "8093:8093" # HTTPS AI Compliance SDK
- "8443:8443" # HTTPS Jitsi Meet (https://macmini:8443/)
- "3006:3006" # HTTPS Developer Portal (https://macmini:3006/)
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d:ro
- vault_certs:/etc/nginx/certs:ro
@@ -35,14 +33,10 @@ services:
condition: service_started
website:
condition: service_started
ai-compliance-sdk:
condition: service_started
admin-v2:
condition: service_started
jitsi-web:
condition: service_started
developer-portal:
condition: service_started
extra_hosts:
- "breakpilot-edu-search:host-gateway"
networks:
@@ -744,7 +738,6 @@ services:
- BACKEND_URL=http://backend:8000
- CONSENT_SERVICE_URL=http://consent-service:8081
- KLAUSUR_SERVICE_URL=http://klausur-service:8086
- SDK_URL=http://ai-compliance-sdk:8090
# Woodpecker CI Status
- WOODPECKER_URL=${WOODPECKER_URL:-http://woodpecker-server:8000}
- WOODPECKER_TOKEN=${WOODPECKER_TOKEN:-}
@@ -759,25 +752,6 @@ services:
depends_on:
- backend
- consent-service
- ai-compliance-sdk
networks:
- breakpilot-pwa-network
restart: unless-stopped
# ============================================
# Developer Portal - Oeffentliches SDK-Dokumentationsportal
# Access: https://macmini:3006/
# ============================================
developer-portal:
build:
context: ./developer-portal
dockerfile: Dockerfile
platform: linux/arm64
container_name: breakpilot-pwa-developer-portal
expose:
- "3000"
environment:
- NODE_ENV=production
networks:
- breakpilot-pwa-network
restart: unless-stopped
@@ -798,106 +772,13 @@ services:
- NODE_ENV=production
- DATABASE_URL=postgres://breakpilot:breakpilot123@host.docker.internal:5432/breakpilot_db
- OLLAMA_URL=http://host.docker.internal:11434
- OLLAMA_MODEL=qwen2.5:32b
- OLLAMA_MODEL=qwen3:30b-a3b
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- breakpilot-pwa-network
restart: unless-stopped
# ============================================
# AI Compliance SDK - Multi-Tenant RBAC & LLM Gateway
# Go auf Port 8090 (intern), 8093 (extern)
# CFO Use-Case: Namespace-isolierte KI-Nutzung
# ============================================
ai-compliance-sdk:
build:
context: ./ai-compliance-sdk
dockerfile: Dockerfile
platform: linux/arm64 # Mac Mini Apple Silicon
container_name: breakpilot-pwa-ai-compliance-sdk
# Port 8093 wird über nginx proxied (ai-compliance-sdk:8090 intern)
environment:
- PORT=8090
- ENVIRONMENT=${ENVIRONMENT:-development}
# PostgreSQL for RBAC, Policies, Audit
- DATABASE_URL=postgres://breakpilot:breakpilot123@postgres:5432/breakpilot_db?sslmode=disable
- JWT_SECRET=${JWT_SECRET:-your-super-secret-jwt-key-change-in-production}
# LLM Provider Configuration
- LLM_PROVIDER=${SDK_LLM_PROVIDER:-ollama}
- LLM_FALLBACK_PROVIDER=${SDK_LLM_FALLBACK_PROVIDER:-anthropic}
# Ollama (Mac Mini lokal - DSGVO-konform)
- OLLAMA_URL=${OLLAMA_BASE_URL:-http://host.docker.internal:11434}
- OLLAMA_DEFAULT_MODEL=${OLLAMA_DEFAULT_MODEL:-qwen2.5:14b}
# Anthropic (Cloud-Fallback via Syseleven BSI-Cloud)
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_DEFAULT_MODEL=${ANTHROPIC_DEFAULT_MODEL:-claude-sonnet-4-20250514}
# PII Detection & Redaction
- PII_REDACTION_ENABLED=${PII_REDACTION_ENABLED:-true}
- PII_REDACTION_LEVEL=${PII_REDACTION_LEVEL:-strict}
# Audit Trail
- AUDIT_RETENTION_DAYS=${AUDIT_RETENTION_DAYS:-365}
- AUDIT_LOG_PROMPTS=${AUDIT_LOG_PROMPTS:-false}
# CORS
- ALLOWED_ORIGINS=http://localhost:3002,https://macmini:3002,http://admin-v2:3000
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
postgres:
condition: service_healthy
networks:
- breakpilot-pwa-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8090/health"]
interval: 30s
timeout: 3s
start_period: 10s
retries: 3
restart: unless-stopped
# DSMS Node - Dezentrales Speichersystem (Private IPFS)
dsms-node:
build:
context: ./dsms-node
dockerfile: Dockerfile
container_name: breakpilot-pwa-dsms-node
ports:
- "4001:4001" # Swarm P2P
- "5001:5001" # IPFS API
- "8085:8080" # IPFS Gateway (8085 um Konflikt mit Backend zu vermeiden)
volumes:
- dsms_data:/data/ipfs
environment:
- IPFS_PROFILE=server
networks:
- breakpilot-pwa-network
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "ipfs id > /dev/null 2>&1 || exit 1"]
interval: 30s
timeout: 10s
start_period: 30s
retries: 3
# DSMS Gateway - REST API für DSMS
dsms-gateway:
build:
context: ./dsms-gateway
dockerfile: Dockerfile
container_name: breakpilot-pwa-dsms-gateway
ports:
- "8082:8082"
environment:
- IPFS_API_URL=http://dsms-node:5001
- IPFS_GATEWAY_URL=http://dsms-node:8080
- JWT_SECRET=${JWT_SECRET:-your-super-secret-jwt-key-change-in-production}
depends_on:
dsms-node:
condition: service_healthy
networks:
- breakpilot-pwa-network
restart: unless-stopped
# ============================================
# Jitsi Meet - Videokonferenzen für Schulungen
# Web UI: http://localhost:8443
@@ -1697,32 +1578,6 @@ services:
- breakpilot-pwa-network
restart: unless-stopped
# ============================================
# Night Scheduler - Nachtabschaltung
# Stoppt Services nachts, startet sie morgens
# API: http://localhost:8096
# ============================================
night-scheduler:
build: ./night-scheduler
container_name: breakpilot-pwa-night-scheduler
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./night-scheduler/config:/config
- ./docker-compose.yml:/app/docker-compose.yml:ro
environment:
- COMPOSE_PROJECT_NAME=breakpilot-pwa
ports:
- "8096:8096"
networks:
- breakpilot-pwa-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8096/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# ============================================
# Woodpecker CI - Agent
# Executes pipeline steps in containers
@@ -1774,8 +1629,6 @@ volumes:
# Valkey Session Cache
valkey_data:
driver: local
dsms_data:
driver: local
klausur_uploads:
driver: local
eh_uploads: