SuperAPI AI Directory

typo3-ddev

Coding & development

View repository

Updated 10-16 01:35

About this skill

TYPO3 DDEV Setup Skill

CRITICAL: URL Scheme

NEVER guess URLs. Read name: from .ddev/config.yaml, then apply the subdomain pattern:

https://v{VERSION}.{sitename}.ddev.site/typo3/ · Landing: https://{sitename}.ddev.site/ · Docs: https://docs.{sitename}.ddev.site/

Each version gets a vhost (/var/www/html/v{VERSION}) via additional_hostnames. Never infer URLs from directory listings.

Credentials: admin / Joh316!!

Container Priority

  1. .ddev/ exists → ddev exec
  2. docker-compose.yml → docker compose exec
  3. System tools only if no container. Use project's configured PHP.

No DDEV available (CI, container, agent harness — DDEV drives Docker): read .ddev/config.yaml and .ddev/commands/, then scripts/provision-without-ddev.sh --extension . --serve. The distribution ships no .htaccess, so /typo3/ answers 200 while sub-routes 404 — references/without-ddev.md.

In-container edits: docker cp in, then ddev exec — not heredocs/php -r. See references/container-file-editing.md.

Quick Start

ddev start && ddev install-all    # All versions (11/12/13/14)
ddev install-v14                  # v14.3 LTS (default / gold standard)
ddev install-v13                  # v13.4 LTS

Database Selection

MariaDB 10.11 (default) · SQLite · PostgreSQL 16 · MySQL 8.0. See references/advanced-options.md, references/0002-mariadb-default-with-database-alternatives.md.

PHP Management

php_version: "8.3" in config.yaml. Upgrade via .ddev/web-build/Dockerfile. 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 extension:setup extension:setup
composer.json optional optional required (#108310)
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. Check a consequence, not a status: /typo3/login must answer 200. 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 automation · ddev generate-makefile / generate-index / docs / xdebug on

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 /phpstatus endpoint with php-fpm.sock
PHP settings ignored .ddev/php/custom.ini
Full cleanup ddev delete --omit-snapshot --yes, remove volumes

References

Topic File in references/
Without DDEV without-ddev.md
Prerequisites, quick start {prerequisites-validation,quickstart}.md
Advanced, post-setup, branding {advanced-options,post-setup-verification,index-page-generation}.md
ADRs · Windows {0001,0002,0003}-*.md · windows-{fixes,optimizations}.md
Docs rendering, troubleshooting {documentation-rendering,troubleshooting}.md