Zum Inhalt

Installation und Deployment

ExamCraft AI kann in zwei verschiedenen Konfigurationen deployed werden: die Core-Version (für OpenSource) und die Full-Version (mit Premium- und Enterprise-Features).

Deployment-Modi

Core-Modus (OpenSource)

Der Core-Modus ist die minimale, OpenSource-freundliche Konfiguration:

  • Docker Compose: docker-compose.yml
  • Services: Backend, Frontend, PostgreSQL, Redis
  • Keine Vektorsuche: Qdrant ist nicht enthalten
  • Features: Begrenzt auf Free Tier (5 Dokumente, 20 Fragen/Monat)
  • Zielgruppe: Community-Deployment, Testing

Speicheranforderungen: ca. 2–3 GB RAM, 5 GB Disk

Full-Modus (Premium + Enterprise)

Der Full-Modus enthält alle Features:

  • Docker Compose: docker-compose.full.yml
  • Services: Backend, Frontend, PostgreSQL, Redis, Qdrant, RabbitMQ, Celery, Flower
  • Vektorsuche: Qdrant für RAG und semantische Suche
  • Async Tasks: RabbitMQ + Celery für Hintergrund-Jobs
  • Monitoring: Flower zur Celery-Überwachung
  • Features: Alle Tiers verfügbar (Free, Starter, Professional, Enterprise)
  • Zielgruppe: Private Entwicklung, Production, SaaS

Speicheranforderungen: ca. 4–6 GB RAM, 10+ GB Disk

Schnellstart

Voraussetzungen

  • Docker und Docker Compose (v2.0+)
  • Python 3.13+ (für lokale Entwicklung)
  • Bun oder Node.js 20+ (für Frontend-Entwicklung)

Core-Modus starten

# Git-Repository klonen
git clone https://github.com/talent-factory/examcraft.git
cd examcraft

# Umgebungsvariablen vorbereiten
cp .env.example .env

# Services starten
./start-dev.sh --core

Full-Modus starten

# Mit allen Premium- und Enterprise-Services
./start-dev.sh --full

Auto-Modus (empfohlen)

Das Skript start-dev.sh erkennt automatisch, welche Services verfügbar sind:

./start-dev.sh

Umgebungsvariablen

Wichtige Umgebungsvariablen in .env:

Variable Beschreibung Beispiel
CLAUDE_API_KEY API-Key für Claude sk-ant-...
DATABASE_URL PostgreSQL-Verbindung postgresql://user:pass@localhost/examcraft
REDIS_URL Redis-Verbindung redis://localhost:6379/0
SECRET_KEY JWT Secret Zufälliger String (min. 32 Zeichen)
DEPLOYMENT_MODE core oder full full

Weitere Variablen: Siehe .env.example.

Production-Deployment

Für Production-Umgebungen wird ein Managed-Hosting-Service wie Fly.io oder Heroku empfohlen.

Fly.io Deployment

# Fly.io CLI installieren
curl -L https://fly.io/install.sh | sh

# App erstellen und deployen
fly launch --copy-config
fly deploy

Weitere Informationen: Fly.io Dokumentation

Häufige Fehler

Fehler Ursache Lösung
"Umgebungsvariablen werden nicht geladen" --env-file .env nicht gesetzt docker compose --env-file .env up verwenden
"Qdrant-Verbindungsfehler" (Core-Modus) Qdrant wird im Core-Modus nicht gestartet Im Full-Modus deployen oder RAG-Features deaktivieren
"PostgreSQL-Fehler: Authentifizierung fehlgeschlagen" Falsche DATABASE_URL DATABASE_URL in .env prüfen
"Port bereits in Benutzung" Port 3000, 5432, 6379, etc. bereits vergeben Ports in docker-compose.yml ändern oder andere Services stoppen

Nächste Schritte