# pretix-Testinstanz unter WSL mit Docker Dieses Verzeichnis enthaelt ein lokales Test-Setup fuer pretix unter WSL Ubuntu 22.04 mit Docker Desktop. ## Voraussetzungen - Windows 11 mit installiertem Docker Desktop - In Docker Desktop: WSL Integration fuer deine Ubuntu-Distribution aktivieren - Die Dateien sollten im Linux-Dateisystem liegen, also z. B. unter `/home//...` und nicht unter `/mnt/c/...` ## Start 1. Datenverzeichnis anlegen und fuer den pretix-Container beschreibbar machen: ```bash mkdir -p data sudo chown -R 15371:15371 data ``` 2. Container starten: ```bash docker compose up -d ``` 3. Logs pruefen, bis pretix sauber hochgefahren ist: ```bash docker compose logs -f pretix ``` Optional kannst du auch den periodischen Cronlauf pruefen: ```bash docker compose logs -f pretix-cron ``` 4. Im Browser oeffnen: - pretix: http://localhost:8345/control/ - Test-Mailbox: http://localhost:8025 ## Standardzugang Laut offizieller pretix-Dokumentation ist nach dem ersten Start ein Admin-Zugang unter `admin@localhost` mit dem Passwort `admin` verfuegbar. Das Passwort solltest du direkt nach dem Login aendern. ## Erste Schritte in pretix Ja: Nach dem ersten Login ist ein Organizer der erste sinnvolle Schritt. Der Organizer ist in pretix die organisatorische Einheit, unter der spaeter Events, Produkte, Rechnungen und Einstellungen verwaltet werden. ### Empfohlene Reihenfolge fuer die erste Einrichtung 1. Passwort des Admin-Benutzers aendern. 2. Einen Organizer anlegen. 3. Ein Test-Event anlegen. 4. Mindestens ein Ticketprodukt anlegen. 5. Den Shop im Frontend pruefen. 6. Eine Testbestellung ausloesen. 7. E-Mail-Eingang in Mailpit kontrollieren. ### 1. Organizer anlegen - Im Backend auf `Organizer erstellen` klicken. - Einen Namen vergeben, z. B. `Test Organizer`. - Eine kurze Kennung oder einen Slug vergeben, falls pretix danach fragt. - Adresse, E-Mail und weitere Stammdaten kannst du fuer den Test zunaechst minimal ausfuellen und spaeter nachziehen. ### 2. Event anlegen - Innerhalb des Organizers ein neues Event erstellen. - Als Titel z. B. `Testevent 2026` waehlen. - Eine Zeitzone setzen, sinnvollerweise `Europe/Berlin`. - Ein Datum in der Zukunft waehlen, damit das Event nicht direkt als abgelaufen wirkt. - Die Standardwaehrung sollte in diesem Setup bereits auf `EUR` stehen. ### 3. Ticketprodukt anlegen - Im Event zu den Produkten wechseln. - Ein neues Produkt vom Typ Ticket anlegen. - Beispielwerte fuer den Test: - Name: `Standardticket` - Preis: `10,00 EUR` - Verfuegbarkeit: z. B. `100` - Das Produkt speichern und sicherstellen, dass es sichtbar und verkaeuflich ist. ### 4. Shop testen - Im Event die Vorschau oder den Shop-Link oeffnen. - Pruefen, ob das Ticket im Frontend erscheint. - Ein Ticket in den Warenkorb legen und eine Testbestellung abschicken. ### 5. E-Mails pruefen - Die Testinstanz liefert E-Mails an Mailpit aus, nicht an ein echtes Postfach. - Mailpit erreichst du unter `http://localhost:8025`. - Dort solltest du Bestell- oder System-E-Mails fuer den Test sehen. ### Sinnvoller Minimaltest Wenn du pretix nur einmal durchklicken willst, reicht dieser Ablauf: 1. Organizer erstellen. 2. Event erstellen. 3. Ein Ticketprodukt anlegen. 4. Shop-Link oeffnen. 5. Testbestellung absenden. 6. E-Mail in Mailpit kontrollieren. --- ## Praxisbeispiel: Kostenlose Veranstaltungsreihe Mo-Do mit Anmeldepflicht ### Warum "Quota braucht ein Datum" – und was das bedeutet pretix unterscheidet zwischen: - **Einzelevent**: Ein festes Datum, eine einzige Quota. Keine Datumsauswahl in der Quota noetig. - **Veranstaltungsreihe** (Sub-Events): Mehrere Termine unter einem Event. Jede Quota kann sich auf bestimmte Termine beziehen. Wenn du bei der Quota ein Datum auswaehlen willst (oder musst), aber keines angezeigt wird, bedeutet das: das Event ist noch kein Serienevent. Sub-Events muessen erst aktiviert werden. ### Schritt 1: Sub-Events am Event aktivieren 1. Ins Event wechseln → **Einstellungen** → **Allgemein** (oder **Konfiguration**). 2. Die Option **"Dieses Event hat mehrere Termine / Sub-Events"** (englisch: *"This event has multiple dates"*) aktivieren. 3. Speichern. Danach erscheint im linken Menue ein neuer Punkt: **Termine** (oder **Sub-Events**). ### Schritt 2: Die einzelnen Termine anlegen Jeden Wochentermin einmal anlegen. Beispiel fuer eine Woche: | Name | Datum | Beginn | Ende | |------------------|-------------|--------|-------| | Montag-Session | 13.04.2026 | 17:30 | 18:00 | | Dienstag-Session | 14.04.2026 | 17:30 | 18:00 | | Mittwoch-Session | 15.04.2026 | 17:30 | 18:00 | | Donnerstag-Session | 16.04.2026 | 17:30 | 18:00 | Fuer laufende Serien empfiehlt es sich, alle Termine einer Woche auf einmal anzulegen oder eine Woche spater zu ergaenzen. > **Tipp**: Es gibt keine automatische Wiederholung in pretix. Jeder Termin muss einzeln angelegt werden – entweder manuell oder per API. ### Schritt 3: Kostenfreies Produkt anlegen (falls nicht schon passiert) - Name z. B. `Anmeldung` - Preis: `0,00 EUR` - Das Produkt muss trotz Nullpreis angelegt sein, damit pretix die Buchung als "Bestellung" behandelt. ### Schritt 4: Quota anlegen - Zu **Quotas** wechseln → neue Quota anlegen. - Kontingent z. B. `20` (Maximale Teilnehmerzahl pro Termin). - Unter **"Gilt fuer Termine"** jetzt die gewuenschten Sub-Events auswaehlen. - Jeder Termin bekommt idealerweise eine eigene Quota, damit die Kapazitaet pro Tag separat gilt. ### Schritt 5: Shop pruefen - Den Shop-Link des Events oeffnen. - Eine der Termine auswaehlen und kostenlos anmelden. - Bestaetigung in Mailpit pruefen (`http://localhost:8025`). ### Zusammenfassung des Datenmodells fuer diesen Fall ``` Organizer └── Event "Wochentreffen" (Sub-Events aktiviert) ├── Sub-Event "Montag 13.04." ├── Sub-Event "Dienstag 14.04." ├── Sub-Event "Mittwoch 15.04." ├── Sub-Event "Donnerstag 16.04." ├── Produkt "Anmeldung" (0,00 EUR) └── Quotas (je Termin, z. B. 20 Plaetze) ``` ## Cron-Hinweis pretix erwartet, dass regelmaessig `pretix cron` ausgefuehrt wird. In diesem Test-Setup uebernimmt das der Dienst `pretix-cron` automatisch alle 5 Minuten. Direkt nach dem ersten Start kann die Warnung im Dashboard noch kurz sichtbar sein, bis der erste Lauf erfolgt ist. ## Stoppen und Aufraeumen - Stoppen: ```bash docker compose down ``` - Stoppen und auch Datenbank/Redis-Daten entfernen: ```bash docker compose down -v ``` - Das Verzeichnis `data/` bleibt dabei erhalten. Wenn du wirklich ganz von vorn beginnen willst, kannst du es zusaetzlich loeschen. ## Wichtige Hinweise - Diese Konfiguration ist nur fuer lokale Tests gedacht. - Fuer produktiven Betrieb solltest du der offiziellen pretix-Doku folgen und HTTPS, Reverse Proxy, Backup und Härtung sauber einrichten.