| name | typo3-ddev |
| description | Use when providing DDEV URLs, accessing TYPO3 backend in browser, performing any ddev command (e.g. start, stop, restart, describe, exec), setting up DDEV for TYPO3 extension development, or testing across multiple TYPO3 versions. Triggers on: ddev URLs, backend URLs, local development, docker environment, PHP version management, multi-version testing. |
TYPO3 DDEV Setup Skill
CRITICAL: URL Scheme
NEVER guess URLs. Read name: from .ddev/config.yaml, then apply subdomain pattern:
https://v{VERSION}.{sitename}.ddev.site/typo3/ โ e.g., https://v14.my-ext.ddev.site/typo3/
Landing page: https://{sitename}.ddev.site/ ยท Docs: https://docs.{sitename}.ddev.site/
Each version gets its own Apache vhost (/var/www/html/v{VERSION}), routed via additional_hostnames. Check configured versions before presenting URLs. Never infer URLs from directory listings.
Credentials: admin / Joh316!!
Container Priority
.ddev/ exists โ ddev exec
docker-compose.yml โ docker compose exec
- System tools only if no container. Always use project's configured PHP.
Quick Start
ddev start && ddev install-all
ddev install-v14
ddev install-v13
Database Selection
MariaDB 10.11 (default) ยท SQLite (simple, no SQL) ยท PostgreSQL 16 (GIS) ยท MySQL 8.0 (Oracle parity). See references/advanced-options.md.
PHP Management
php_version: "8.3" in config.yaml. Upgrade via .ddev/web-build/Dockerfile (apt-get dist-upgrade). Custom settings: .ddev/php/custom.ini. See references/0003-php-version-management.md.
TYPO3 Version Differences
| v12 | v13 | v14.3 LTS |
|---|
| Setup | install:setup --use-existing-database | setup | setup |
| Activation | Auto (Composer) | extension:setup | extension:setup |
composer.json | optional | optional | required (classic mode, #108310) |
| Default theme | bootstrap-package | bootstrap-package | Camino (#108539) |
| Fluid | 2.x | 4.x | 5.x strict (#108148) |
| CKEditor | 41โ42 | 41โ42 | 47 |
See references/typo3-12-cli-changes.md.
Post-Setup Verification
ddev status, ddev describe, ddev exec -d /var/www/html/v13 vendor/bin/typo3 extension:list --active. See references/post-setup-verification.md.
Optional Services & Commands
- Valkey 8 (default) or Redis 7:
references/0001-valkey-default-with-redis-alternative.md
- Ofelia scheduler: TYPO3 scheduler automation
ddev generate-makefile / ddev generate-index / ddev docs
ddev xdebug on / Cache: ddev exec -d /var/www/html/v13 vendor/bin/typo3 cache:flush
Extension Naming
Hyphens for composer (nr-llm), underscores for TYPO3 key (nr_llm). Source: composer.json name.
Troubleshooting
| Issue | Solution |
|---|
| Port conflict | router_http_port: "8080" / router_https_port: "8443" |
| Database exists | ddev mysql -e "DROP DATABASE v13; CREATE DATABASE v13;" |
| Extension not found | ddev exec -d /var/www/html/v13 vendor/bin/typo3 cache:flush |
| Windows health check | Add /phpstatus endpoint with php-fpm.sock |
| PCOV/pecl fails | apt-get install php${PHP_VERSION}-pcov |
| PHP settings ignored | Place in .ddev/php/custom.ini |
| Full cleanup | ddev delete --omit-snapshot --yes then remove Docker volumes |
References
| Topic | File |
|---|
| Prerequisites | references/prerequisites-validation.md |
| Quick start | references/quickstart.md |
| Advanced options | references/advanced-options.md |
| Post-setup | references/post-setup-verification.md |
| Branding/landing page | references/index-page-generation.md |
| ADR References | references/{0001,0002,0003}-*.md |
| Windows | references/windows-fixes.md, references/windows-optimizations.md |
| Docs rendering | references/documentation-rendering.md |
| Troubleshooting | references/troubleshooting.md |