Selbst gehosteter, S3-kompatibler Objektspeicher für Backups: MinIO hinter einem Nginx-Proxy, dazu ein rclone-basierter Backup-Agent mit versionierten Buckets. Ihre Offsite-Backups ohne Cloud-Rechnung
Ein vollständiges Muster von Lab bis Produktion: k3s in Docker mit eingebettetem etcd, Rancher für das Management, MetalLB für Layer-2-LoadBalancer-IPs, replizierter Longhorn-Speicher und Traefik-Ingr
LLMs auf eigener GPU-Hardware: Ollama als Serving-Engine, Open WebUI als Frontend im ChatGPT-Stil und LiteLLM als OpenAI-kompatibler Router davor — lokale Modelle und externe APIs bleiben dadurch austauschbar.
Ein Deployment-Guide mit lauffähigen Beispielen — kein herunterladbares Produkt. Alles unten ist die tatsächlich eingesetzte Konfiguration, gekürzt auf das, worauf es ankommt.
services:
ollama:
image: ollama/ollama:${OLLAMA_VERSION:-0.5.9}
container_name: ollama
restart: unless-stopped
volumes:
- ollama_models:/root/.ollama
- ./config/ollama:/etc/ollama:ro
ports:
- ${OLLAMA_PORT:-11434}:11434
environment:
- OLLAMA_HOST=0.0.0.0
- OLLAMA_KEEP_ALIVE=${OLLAMA_KEEP_ALIVE:-5m}
- OLLAMA_NUM_PARALLEL=${OLLAMA_NUM_PARALLEL:-2}
- OLLAMA_MAX_LOADED_MODELS=${OLLAMA_MAX_LOADED_MODELS:-3}
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpu
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:11434/api/tags
interval: 30s
timeout: 10s
retries: 3
networks:
- ai_network
litellm:
image: ghcr.io/berriai/litellm:${LITELLM_VERSION:-main-v1.16.18}
container_name: litellm
restart: unless-stopped
depends_on:
ollama:
condition: service_healthy
volumes:
- ./config/litellm/proxy_config.yaml:/app/proxy_config.yaml:ro
ports:
- ${LITELLM_PORT:-4000}:4000
environment:
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY:?LITELLM_MASTER_KEY is required}
- DATABASE_URL=${LITELLM_DB_URL:-}
- LITELLM_MODE=${LITELLM_MODE:-proxy}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
command:
- --config
- /app/proxy_config.yaml
- --port
- '4000'
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:4000/health/liveliness
interval: 30s
timeout: 10s
retries: 3
networks:
- ai_network
Auszug — ollama, litellm aus der Compose-Datei. Die übrigen Services (proxies, init jobs, exporters) folgen demselben Muster und binden ihre Konfiguration aus einem config/-Verzeichnis ein.
Kopieren Sie .env.example zu .env und setzen Sie mindestens:
OLLAMA_VERSION=latest
OLLAMA_PORT=11434
OLLAMA_HOST=0.0.0.0
OLLAMA_KEEP_ALIVE=10m
OLLAMA_NUM_PARALLEL=2
OLLAMA_MAX_LOADED_MODELS=4
.env setzen — niemals die Beispielwerte übernehmenEin Guide, kein Produkt. Diese Seite ist Deployment-Dokumentation mit lauffähigen Beispielen — kein Zip, kein Download, kein Supportvertrag. Sie adaptieren die Muster auf Ihre eigene Umgebung, und das Ergebnis gehört Ihnen.
Wenn Sie das produktionsreif in Ihrer Infrastruktur wollen: Das ist der Kern des zweitägigen Workshops Self-Hosted AI im Produktionseinsatz — Details auf der Consulting-Seite: 1.000 €/Tag, remote oder vor Ort, Abrechnung per Rechnung.