200 lines
6.8 KiB
Markdown
200 lines
6.8 KiB
Markdown
# 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/<user>/...` 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. |