CHASE selbst hosten
CHASE ist für den Eigenbetrieb (Self-Hosting) ausgelegt und gibt dir volle Kontrolle über deine Konferenzdaten und Infrastruktur. Diese Anleitung führt dich durch die Bereitstellung von CHASE für deine Organisation.
Voraussetzungen
Bevor du beginnst, stelle sicher, dass du Folgendes hast:
- Server/VPS mit mindestens 2 GB RAM und 2 CPU-Kernen
- Docker und Docker Compose installiert
- Domainname, der auf deinen Server zeigt
- OIDC-Anbieter (z. B. Zitadel, Logto, Keycloak) für die Authentifizierung
- Grundkenntnisse in der Kommandozeile und mit Docker
CHASE bringt keine eigene Authentifizierung mit. Du musst einen OIDC-kompatiblen Identity-Provider konfigurieren. Das ist so gewollt — es erlaubt dir, CHASE in deine bestehende Authentifizierungsinfrastruktur zu integrieren.
Schnellstart mit Docker
1. Repository klonen
git clone https://github.com/DeutscheModelUnitedNations/munify-chase.git
cd munify-chase
2. Umgebung konfigurieren
Kopiere die Beispiel-Umgebungsdatei und passe sie an:
cp .env.example .env
Bearbeite .env mit deinen Einstellungen:
# Datenbank
DATABASE_URL=postgresql://chase:dein-sicheres-passwort@db:5432/chase
# OIDC-Konfiguration
OIDC_ISSUER=https://dein-auth-anbieter.de
OIDC_CLIENT_ID=deine-client-id
OIDC_CLIENT_SECRET=dein-client-secret
# Anwendung
PUBLIC_BASE_URL=https://chase.deine-domain.de
3. Dienste starten
docker compose up -d
4. Datenbank initialisieren
docker compose exec app bun run db:push
Architekturüberblick
CHASE besteht aus:
| Komponente | Beschreibung |
|---|---|
| Frontend | SvelteKit-Anwendung, die die Benutzeroberfläche ausliefert |
| Backend | GraphQL-API für die Geschäftslogik |
| Datenbank | PostgreSQL für die dauerhafte Speicherung |
| Auth | Externer OIDC-Anbieter (nicht enthalten) |
Empfohlene OIDC-Anbieter
CHASE funktioniert mit jedem OIDC-kompatiblen Anbieter:
- Zitadel – Open Source, selbst hostbar
- Logto – Open Source, entwicklerfreundlich
- Keycloak – Enterprise-tauglich, selbst gehostet
- Auth0 – Managed Service mit kostenloser Stufe
Integration mit DELEGATOR
Wenn du auch DELEGATOR betreibst, kannst du beide Anwendungen so konfigurieren, dass sie denselben OIDC-Anbieter nutzen — das ermöglicht Single Sign-on über den gesamten MUNify-Stack hinweg.
Hinweise für den Produktivbetrieb
Reverse Proxy
Wir empfehlen, CHASE hinter einem Reverse Proxy wie nginx oder Traefik zu betreiben, für:
- SSL/TLS-Terminierung
- Lastverteilung
- Request-Pufferung
Backups
Richte regelmäßige PostgreSQL-Backups ein:
# Beispiel für ein tägliches Backup-Skript
docker compose exec db pg_dump -U chase chase > backup-$(date +%Y%m%d).sql
Monitoring
Erwäge, Monitoring einzurichten für:
- Health-Endpoints der Anwendung
- Datenbankperformance
- Serverressourcen
Hilfe erhalten
- Schau in die GitHub Issues für bekannte Probleme
- Nimm an den Community-Diskussionen teil
- Kontaktiere die Maintainer, bevor du CHASE produktiv einsetzt
Das CHASE-Team empfiehlt, vor dem Einsatz bei einer echten Konferenz Kontakt aufzunehmen, da die Software bisher primär bei DMUN-Veranstaltungen getestet wurde. Wir können euch spezifisch für euren Anwendungsfall beraten.
Nächste Schritte
- Contributing Guide – um zu CHASE beizutragen
- Benutzerhandbuch – lerne, wie man CHASE benutzt