Skip to main navigation Skip to main content Skip to page footer

Devcontainer showcase: TYPO3 Introduction extension

| | A - Idee | 19

Die Entwicklung mit Devcontainer wird am Beispiel einer Website mit dem CMS TYPO3 und desses Referenz-Erweiterung "Introduction" gezeigt. Das Github-Repository kann sich jeder kopieren und damit Erfahrungen sammeln.

Der Showcase für TYPO3 nutzt als Basis das TYPO3-Beispiel-Projekt “Introduction”.
Über Devcontainers bereitgestellt werden Umgebungen mit

  • PHP 8.4
  • Apache Webserver, Nginx sowie Caddy (über FrankenPHP)
  • Mysql, MariaDB, SqLite, PostgreSQL
  • Mysql Adminer

Der erste Start dauert erstmal ungewohnt lange, da die erforderlichen Container erst gebaut und die TYPO3-Installation durchgeführt werden.
Die Initalisierung wurde über sogen. Prebuilds reduziert, so dass nur noch die für das jeweilige Repostory relevanten Konfigurationen notwendig sind.

Nach dem Start z.B. über Github Codespaces steht die komplette Umgebung lauffähig zur Verfügung.
Die erforderlichen Portweiterleitungen erfolgen automatisch, so dass Frontend und Backend direkt aufgerufen werden können.
In der Browserversion von VS Code scheint hier jedoch noch ein Problem zu existieren - daher die Empfehlung zum lokal installierten VS Code.

Seit dem 26. März 2026 existiert ein Devcontainer Template für TYPO3 von mir im offiziellen Repository. Damit können Devcontainer prinzipiell in jedem TYPO3 Entwicklungsprojekt direkt genutzt werden. 

Am 08. Mai 2026 hab ich einen Pull Request im offiziellen TYPO3-Repository der Erweiterung “Introduction” erstellt, der dort die Möglichkeit der Entwicklung mit Development Containers in folgender Konstellation hinzufügt:

  • FrankenPHP (mit Caddy Webserver)
  • PHP 8.4
  • MySQL

Das o.g. Devcontainers Template kann jederzeit mit anderen Konstellationen angewendet werden. Möglich sind dabei alle Variationen aus:

  • Webserver: FrankenPHP, Apache, Nginx
  • PHP: 8.2, 8.3, 8.4, 8.5
  • Datenbanken: SqLite, MySQL, MariaDB, PostgreSQL

FrankenPHP im sogen. Worker mode ist aktuell (Stand: 08.05.2026) nicht in Verbindung mit TYPO3 möglich.
Ein TYPO3-Worker-Prozess läuft mit den globalen Variablen ($_GET etc.), die bei seiner Initialisierung vorhanden waren. Es muss eine Möglichkeit gefunden werden, die für eine Requestverarbeitung relevanten Informationen in TYPO3 mit jedem Request neu zu initialisieren, ohne die komplette Bootstrapverarbeitung zu durchlaufen. 

Zurück