What's New in DDEV for TYPO3 Folks: October 2026
Here’s the October TYPO3-with-DDEV news. This quarter’s theme is databases: getting one into a project faster, keeping known-good copies of it, and running several of them side by side.
Table of Contents
- Snapshots Grew Up in DDEV v1.25.4
- Branchery: A Worktree, URL, PHP Version, and Database per Branch
- TYPO3 Quickstarter 0.7.0
- Knecht: Agent Sessions on GitHub Issues, with a DDEV Environment Each
- Catching Up
- Why Your DDEV Sponsorship Matters
- Tell Us What You’re Building
Snapshots Grew Up in DDEV v1.25.4
ddev snapshot has been around for years. It takes a physical backup of your database (mariadb-backup, xtrabackup, or pg_basebackup), not a SQL dump, so creating and restoring one is much faster than ddev export-db and ddev import-db, especially on a big TYPO3 database.
DDEV v1.25.4 adds a set of features on top of that:
- A
seedsnapshot. Runddev snapshot --name=seedonce, and any time the project starts with no database (a new teammate’s firstddev start, or afterddev delete), DDEV loads that snapshot instead of an emptydbdatabase. If the size is acceptable, commit it withgit add -f .ddev/db_snapshots/seed-*and a new team member gets a working TYPO3 backend without asking anyone for a dump. --seed-snapshot=<name-or-path>onddev startandddev restartseeds a new database from any snapshot, by name or from a path anywhere on your machine. It works with MariaDB, MySQL, and PostgreSQL.--reset-databasethrows the current database away and starts over (taking a snapshot first, unless you add-O). Combined with a seed,ddev restart --reset-database -Oyreturns the project to a known state, which is useful between test runs or before trying an upgrade wizard again.- Snapshots shared across Git worktrees. If you use
git worktreewith TYPO3, a snapshot taken in one worktree can be restored in another. - Uncompressed snapshots (
--uncompressed) trade disk space for a faster restore, on MariaDB and MySQL. ddev snapshot --listnow shows size, database version, and compression for each snapshot.
A pattern for TYPO3 major upgrades might be: snapshot before each step (ddev snapshot --name=pre-v14-wizards), and when an upgrade wizard (typo3 upgrade:run) or a database schema update goes wrong, ddev snapshot restore --latest puts you back in seconds. A snapshot covers only the database, so roll back code and composer.lock with Git, and fileadmin changes separately.
DDEV Snapshots: Checkpoints, Restores, and Seeded Databases has all of it, with a screencast. For huge databases, the September 23 contributor training with Moshe Weitzman covers baking a snapshot into a custom database image and distributing it through a registry, so a team can pull a multi-gigabyte database as a Docker image. The slides and resources and Moshe’s dbimage demo repository go with it.
Branchery: A Worktree, URL, PHP Version, and Database per Branch
Benjamin Kott’s ddev-branchery add-on gives each branch its own worktree beside the main checkout, with its own hostname such as feature-checkout.<project>.ddev.site, its own PHP version (8.2 or newer), and its own database, either empty or a copy of the main project’s. The main project keeps running while you do this. It ships profiles for TYPO3 applications and TYPO3 Core, written to .ddev/branchery.yaml; without that file, a worktree gets only a checkout, a hostname, and an empty database.
ddev add-on get benjaminkott/ddev-branchery
ddev restart
ddev branchery config:example --profile=typo3-app --write
ddev branchery worktree:fork feature/checkout # new branch
ddev branchery worktree:add 13.4 # existing branch
ddev branchery worktree:list
ddev branchery launch opens a web interface for the same operations, at <project>.ddev.site:8041. The Branchery container has access to the Docker socket and its API doesn’t authenticate callers, so keep it on your own machine.
TYPO3 Quickstarter 0.7.0
TYPO3 Quickstarter is a Bash script that creates disposable TYPO3 instances on DDEV with one command, picking the right PHP version and running the non-interactive TYPO3 setup for you. It’s handy for comparing behavior across TYPO3 versions or reproducing a bug report, since --release takes a major version (9 through 14, or 15 from dev-main) or an exact patch release such as --release=12.4.20. Because the instances are throwaway, every Composer run uses --no-security-blocking, so don’t use them for anything that will run in production.
curl -fsSL https://raw.githubusercontent.com/pagea-dev/typo3quickstarter/main/install.sh | bash
typo3quickstarter --release=13
Release 0.7.0 adds TYPO3 9 and 10 on PHP 7.4, for working on old extensions before modernizing them, and installs the phpMyAdmin add-on in every new instance (--no-pma skips it).
Knecht: Agent Sessions on GitHub Issues, with a DDEV Environment Each
In July we mentioned Knecht, which boots your DDEV projects on a server and runs AI-driven maintenance workflows against them, ending in a pull request with a preview link. It has shipped a lot since, all listed on its updates page:
- GitHub sessions: each issue or PR gets its own DDEV environment and agent conversation. The agent replies in the thread with its findings and a preview URL, and mentioning it sends it back to work in the same environment.
- A browser terminal, SSH, and VS Code for each run, and buttons for Mailpit and add-on services such as Adminer or Solr. Since Knecht runs DDEV without
ddev-router, it reads each container’sHTTP_EXPOSEandHTTPS_EXPOSEand forwards those ports itself. - Per-project agent memory, so the agent doesn’t explore the project from scratch on every run.
- Repos without a DDEV config now boot with a generated
.ddev/config.yaml, but without a database container, so a TYPO3 project still needs its own.ddev/config.yaml.
On the server-side, a July 26 update replaced per-run Sysbox sandboxes with DDEV on the host, cutting memory per active preview from about 3 GB to about 180 MB. Knecht is source-available under the Functional Source License: you can self-host it, including for customer work, and each version becomes Apache 2.0 two years after release. Matthias Andrasch wrote up installing Knecht Cloud on a Hetzner VPS and, in part 2, talking to the agent in GitHub issues, including mentions, follow-up prompts, and tracking what the AI costs.
Catching Up
Since July:
- DDEV v1.25.4 also adds global Dockerfiles and env files in
~/.ddev/that apply to every project,ddev add-on update, and MySQL 9.7 LTS. - TYPO3 on SQLite, or with
omit_containers: [db], works in v1.25.4. Before, DDEV pointedadditional.phpat adbhost that wasn’t running, and switched a SQLite install back to MySQL on everyddev restart. Now it writes the connection only when the project has a db container and the configured driver is one that container provides (ddev/ddev#8594, from a diagnosis by @staatzstreich). - DDEV Xdebug Quickstart with PhpStorm is a short screencast, and the PhpStorm plugin moved into the DDEV organization.
- Docker Provider Performance, 2026: DDEV now benchmarks every night across platforms and Docker providers.
- A Love Letter to the DDEV Community is about why your questions and issues matter to us, even when AI already gave you an answer.
Coming in v1.25.5: ddev share prints the tunnel URL as a QR code, so you can open your TYPO3 site on a phone, and ddev launch --qr prints the project URL and its QR code instead of opening a browser. This obsoletes the ddev-qr add-on, since the feature is built into DDEV core.
Also coming up: an Advanced Coder.ddev.com Techniques training on November 11, and the open DDEV advisory group meeting on November 4. Everyone is welcome at both.
Why Your DDEV Sponsorship Matters
DDEV is maintained by two people, Stas Zhuk and me, working on it full time, and that is only possible because of sponsorship. Everything above (142 PRs in one release, snapshot seeding, nightly performance testing, quick answers in Discord) comes from that time. DDEV and its trademark belong to the community-governed DDEV Foundation, with TYPO3’s Benni Mack on its Board of Directors, so the money goes to the project, not to a company.
As of today, sponsorship is about $10,134/month, 84.5% of our $12,000/month goal. The gap is about $1,870 a month, so 19 agencies at the $100 Featured tier would close it.
That’s our ask to TYPO3 agencies. If your team runs DDEV on every project and your company isn’t a sponsor yet, please take this to whoever owns the budget. At $100/month, your logo goes in the DDEV README and on ddev.com, your whole team gets coder.ddev.com, and you get a year of Diffy Pro. At $500/month, DDEV’s Tip of the Day thanks you by name in thousands of terminals every day, and your bug reports get priority. Freelancers and individuals can start at $25/month.
Annual payment works too: €1,200 a year counts as the $100 tier. Sponsor on GitHub or PayPal, or contact us to get an invoice your accounting department can pay.
Tell Us What You’re Building
If you’re working on something DDEV-related in the TYPO3 world, or have hit a rough edge, find us on the DDEV Discord or any of the other support channels. Several items in this update came from people telling us about their projects.
Thanks for nearly a decade of collaboration between DDEV and TYPO3.
