In der täglichen Entwicklungsarbeit braucht man immer wieder frische TYPO3-Instanzen – zum Testen von Extensions, für Proof-of-Concepts oder als Ausgangsbasis für neue Projekte. Manuell bedeutet das jedes Mal: DDEV konfigurieren, Composer-Pakete installieren, Datenbank anlegen, Install-Tool durchklicken. t3quickstart automatisiert diesen gesamten Prozess und erzeugt in wenigen Minuten eine lauffähige TYPO3-Installation mit vordefinierten Admin-Credentials.
Architektur und Aufbau
Das Tool besteht im Kern aus einer einzigen ausführbaren Bash-Datei t3quickstart und einer Reihe von .env-Dateien, die die versionspezifischen Standardwerte enthalten. Über .env.local können alle Einstellungen projektübergreifend überschrieben werden – insbesondere sensible Daten wie Admin-Credentials, die nicht ins Versionsystem gehören.
Die Installation läuft in klar getrennten Schritten ab:
- Verzeichnis erstellen – Der Projektordner wird angelegt (Standard: typo3-v<version>, optional eigener Name)
- DDEV konfigurieren – Apache-FPM, PHP-Version, Datenbank, Docroot, Timezone
- Composer installieren – TYPO3 Core-Pakete, optionale Add-ons, lokale Repositories
- TYPO3 einrichten – Datenbank erstellen, Admin-Account anlegen, Site konfigurieren
- System aktualisieren – Composer-Update, Database-Schema, Extension-Setup, Cache-Flush
./t3quickstart install 14
./t3quickstart install 14 mein-projekt
Konfiguration und Optionen
Die Konfiguration erfolgt ausschließlich über Umgebungsvariablen in .env.<version> oder .env.local. Folgende Optionen stehen zur Verfügung:
| Variable | Default | Beschreibung |
|---|---|---|
| INSTALL_PHPMYADMIN | 0 | phpMyAdmin als DDEV Add-on installieren |
| INSTALL_CAMINO_THEME | 1 | Camino Theme installieren (TYPO3 14+) |
| CREATE_PACKAGES_DIR | 0 | Lokales Extensions-Verzeichnis: 0=deaktiviert, 1=lokal im Projekt, 2=Docker Volume Mount |
| GET_T3STATIC | 0 | t3static von Codeberg in packages/t3static klonen |
Beispiel für eine .env.local:
TYPO3_INSTALL_ADMIN_USER=admin
TYPO3_INSTALL_ADMIN_PASSWORD=geheim123
INSTALL_PHPMYADMIN=1
CREATE_PACKAGES_DIR=1
Lokale Extensions mit packages-Verzeichnis
Ein besonders nützliches Feature ist das optionale packages/-Verzeichnis für lokale Extensions. Mit CREATE_PACKAGES_DIR=1 wird ein lokaler Ordner im Projekt erstellt, mit CREATE_PACKAGES_DIR=2 ein shared-Verzeichnis per Docker Volume Mount, das von mehreren TYPO3-Instanzen gleichzeitig genutzt werden kann.
Die composer.json wird automatisch mit einem Path-Repository konfiguriert:
ddev composer require vendor/meine_extension:@dev
Löschen von Projekten
Genauso einfach wie die Installation funktioniert das Entfernen:
./t3quickstart delete 14
./t3quickstart delete 14 mein-projekt
Der Befehl repariert zuerst die Dateiberechtigungen (wichtig bei Docker/Mutagen), stoppt und löscht die Container und entfernt anschließend das Projektverzeichnis vollständig.
Änderungen in letzter Zeit
Das Tool wurde in den letzten Wochen erheblich erweitert und verbessert:
TYPO3 14 Support
Für den Release von TYPO3 14 wurde die vollständige Unterstützung integriert – inklusive der neuen CLI-Syntax (setup statt install:setup) und den neuen Core-Paketen cms-reactions und cms-webhooks.
Camino Theme Integration
Für TYPO3 14 wurde optionale Unterstützung für das Camino Theme hinzugefügt. Über INSTALL_CAMINO_THEME kann das Theme automatisch bei der Installation mit eingebunden werden.
phpMyAdmin optional gemacht
phpMyAdmin wird nicht mehr standardmäßig installiert, sondern nur noch wenn INSTALL_PHPMYADMIN=1 gesetzt ist. Das spart Ressourcen und hält die Umgebung schlank.
t3static Integration
Über die neue Option GET_T3STATIC=1 wird automatisch mein t3static Tool in das packages-Verzeichnis geklont – perfekt, um direkt mit Code-Qualitätsprüfungen starten zu können.
Refactoring und Vereinfachung
Die Funktionen setupDDEV und installTYPO3 wurden grundlegend refactored und deutlich verschlankt. Beim packages-Handling mit Docker Volume Mount wurde das redundante Host-Symlink entfernt – der Volume Mount reicht vollständig aus, da Composer ohnehin im DDEV-Container läuft.