This repository provides an example DDEV setup for developing a single TYPO3 CMS extension.
It includes:
- a reusable
.ddevconfiguration for extension development - a minimal TYPO3 extension skeleton
- ready-to-run installation commands for multiple TYPO3 versions
- local documentation rendering via the TYPO3 documentation container
The extension in the repository is only a placeholder. Rename and adjust it for your own project before using the setup productively.
Currently supported TYPO3 versions with PHP 8.4:
- TYPO3 13.4 LTS
- TYPO3 14.3 LTS
In TYPO3 14.3, the Camino theme is installed as the default distribution.
If you need older TYPO3 versions, use one of these tags:
- Copy the complete
.ddevdirectory into the root of your extension project. - Replace the placeholder values in all files inside
.ddev:- replace
my_extwith your TYPO3 extension key - replace
my-extwith your DDEV site name
- replace
- Update the package name
vendor/my-extin:composer.json.ddev/docker-compose.web.yamlin thePACKAGE_NAMEenvironment variable
- Adjust the PSR-4 autoload configuration in
composer.jsonto match your vendor and extension namespace.
After the rename, these files will have usually been changed:
.ddev/apache/apache-site.conf.ddev/config.yaml.ddev/docker-compose.web.yaml.ddev/web-build/Dockerfilecomposer.json
Once that is done, commit the result to your version control system so collaborators can start the environment without repeating the setup work.
The following software must be installed on the host machine:
- Docker
- Docker Compose
- DDEV
An internet connection is required during the initial setup to download images and Composer packages. After that, the environment can also be used offline in most cases.
With the .ddev directory in place, start the project with:
ddev startThis starts the containers, but it does not install any TYPO3 instance automatically.
The setup provides dedicated DDEV commands for provisioning separate TYPO3 instances:
ddev install-v13
ddev install-v14To install both environments in one step, run:
ddev install-allEach installation is created in its own directory inside the web container:
v13for TYPO3 13.4v14for TYPO3 14.3
After the installation, the overview page is available at:
TYPO3 backend entry points:
Rendered local documentation:
To build the documentation first, run:
ddev docsReplace my-ext in the URLs above with your own DDEV site name.
All TYPO3 instances use the same backend and install tool credentials:
- Username:
admin - Password:
Password:joh316
You can run TYPO3 CLI commands directly inside each installation:
ddev exec v13/vendor/bin/typo3
ddev exec v14/vendor/bin/typo3TYPO3 14 also includes helhum/typo3-console as part of the installation.
To render the extension documentation locally, run:
ddev docsTo open the rendered result in your browser, run:
ddev launch-docsTo delete the DDEV project and its containers, run:
ddev delete -OyIf you have questions, found a bug, or want to suggest an improvement, please open an issue:
https://github.com/a-r-m-i-n/ddev-for-typo3-extensions/issues
If you see this error:
bash: ./install-v14: /bin/bash^M: bad interpreter: No such file or directory
your host system is probably Windows-based and the shell scripts were checked out with CRLF line endings instead of LF.
On Windows, Git may change line endings automatically unless git config core.autocrlf false is set.
If you want to contribute code improvements, fork the repository and open a pull request against the master branch.
If this project is useful to you, feel free to donate to support further development.