Preview-Umgebungen
Boote pro Ticket eine Preview — ein lauffähiger Shop aus deinem Repo plus Datenbank-Snapshot — und sieh die Änderungen des KI-Agents direkt im Ticket.
Eine Preview ist eine lauffähige, per-Ticket bootbare Umgebung: Spedy klont das Repository deines Projekts, spielt einen Datenbank-Snapshot ein und startet die Anwendung (z. B. Shopware oder Magento). Du siehst den laufenden Shop als Iframe neben dem Ticket — und genau dort nimmt der KI-Coding-Agent seine Änderungen vor.
Wie es funktioniert
Wenn du ein Ticket öffnest und die Preview startest, bootet Spedy einen Container-Stack, der:
- das Preview-Repo des Projekts klont,
- einen Datenbank-Snapshot einspielt und
- die Anwendung startet.
Pro Ticket gibt es genau eine Preview. Die Preview-URL ist org-eindeutig und nur mit gültiger Spedy-Session erreichbar — siehe Sicherheit & Isolation.
Eigener Stack? Wenn dein Repo ein eigenes
docker-compose.ymlmitbringt, statt ein Shopware-/Magento-Template zu nutzen, beschreibt Preview-Konfiguration (BYOC) die.spedy/preview.yml, die Spedy sagt, welcher Service und Port geroutet wird.
Voraussetzungen
Bevor ein Projekt Previews booten kann, braucht deine Organisation eine aktive GitHub-Integration unter Einstellungen → Integrationen. Ohne sie zeigt der Repository-Bereich einen Hinweis statt der Repo-Auswahl.
Projekt einrichten
Öffne Projekt → Einstellungen → Preview.

Repository verbinden
Im Abschnitt Repository:
- Klick auf Repo verbinden und wähl aus dem Dropdown ein GitHub-Repo (die Liste kommt aus der GitHub-Integration deiner Organisation).
- Bestätige den Base-Branch (wird aus dem Repo vorausgefüllt).
- Klick auf Verbinden.
Das frisch verbundene Repo wird automatisch als Preview-Repo markiert (grünes Badge). Ein Board kann mehrere Repositories haben (z. B. für den Runner oder CI) — aber genau eines ist das Preview-Repo. Über Für Preview verwenden lässt sich die Markierung auf ein anderes Repo umhängen.
Der Preview-Container klont dieses Repo bei jedem Boot. Branches und Commits des KI-Agents werden dorthin gepusht.
Datenbank-Snapshot hochladen
Ohne Snapshot bootet eine frische Preview mit der leeren Demo-Datenbank. Für realistische Daten nutzt du den Abschnitt Datenbank-Snapshots:
- Vergib einen Namen (z. B.
prod-baseline). - Wähl einen
.sql- oder.sql.gz-Dump (bis 4 GB). - Klick auf Hochladen.
- Beim Eintrag auf Als Default setzen → er bekommt ein grünes Projekt-Default-Badge.

Der Projekt-Default wird in jede Preview des Projekts eingespielt. Pro Ticket lässt er sich überschreiben — siehe Datenbank pro Ticket überschreiben.
Preview im Ticket nutzen
Klick auf das Preview-Icon im Ticket-Header (oder öffne direkt …/tickets/<id>/preview). Beim ersten Mal steht da „Preview ist aus" — klick auf Preview starten. Der erste Boot dauert ~30–60 s (Container-Start + Repo-Clone + Snapshot-Restore), danach nur Sekunden.
Ist die Preview oben, zeigt die linke Hälfte den Shop als Iframe, die rechte das Ticket-Panel bzw. den Agent:

Idle-Timeout
Solange der Preview-Tab offen ist, hält ein Heartbeat den Container am Leben. Nach ~15 Minuten ohne Aktivität wird er automatisch gestoppt — beim nächsten Mal einfach neu starten.
Datenbank pro Ticket überschreiben
Soll ein bestimmtes Ticket gegen einen anderen Dump booten (z. B. um einen kundenspezifischen Bug zu reproduzieren), öffne das Ticket → Tab Eigenschaften → Feld Preview-DB.

Auflösungsreihenfolge beim Boot (höchste Priorität zuerst):
- Per-Ticket-Override (dieses Feld)
.spedy/snapshots/<branch>.sql.gzim Repo- Projekt-Default (siehe oben)
.spedy/snapshots/default.sql.gzim Repo- Template-Seed (leere Demo-Datenbank)
Die Auswahl greift beim nächsten Container-Boot — eine laufende Preview behält ihre Datenbank bis zum Neustart.
Sicherheit & Isolation
- Org-Isolation. Jede Preview bekommt einen org-eindeutigen Slug, sodass zwei Organisationen nie kollidieren — auch nicht bei gleichem Board-Prefix. Jeder Aufruf einer Preview wird gegen die Organisation des Aufrufers geprüft.
- Session-Gate. Die Preview-URL ist nur mit gültiger Spedy-Session und nur für die eigene Organisation erreichbar.
- Private Repos. Das Klonen privater Repositories nutzt die verbundenen GitHub-Credentials deiner Organisation.
Fehlerbehebung
| Symptom | Ursache / Lösung |
|---|---|
| Repository-Bereich zeigt „Keine aktive GitHub-Integration" | Die Org hat keine GitHub-Integration — unter Einstellungen → Integrationen verbinden |
| Preview-URL liefert 403 | Keine gültige Session, oder die Preview gehört einer anderen Organisation |
| Preview bootet mit leerer Datenbank | Kein Projekt-Default-Snapshot gesetzt und kein .spedy/snapshots/ im Repo |
| Datenbank-Änderungen erscheinen nicht | Die Snapshot-Auswahl greift erst beim nächsten Boot — Preview stoppen und neu starten |