Installing TYPO3 with DDEV

This is a step-by-step guide detailing how to install TYPO3 using DDEV, Docker and Composer.

DDEV is used for local development only.

Pre-Installation Checklist

  1. Install Docker - Visit docker.com to download and install the recommended version of Docker for your operating system.
  2. Install DDEV - Follow the DDEV installation guide to install DDEV.

DDEV and Docker need to be installed on your local machine before TYPO3 can be installed. If you need help installing DDEV, support can be found on the DDEV Discord server.

Create the Installation Directory

Create an empty directory to install TYPO3 in and then change into that directory:

mkdir t3example
cd t3example
Copied!

Create a new DDEV Project

The ddev config command will prompt for information about your project. TYPO3 is in the list of preconfigured projects.

ddev config

# Give the following answers when prompted:

Project name (t3example):

Docroot Location (current directory): public

Project Type [php, typo3, ...] (php): typo3
Copied!
project-type
Should always be "typo3"
docroot
Is the folder in which all files that have to be reached by the browser. This folder is commonly called public.

Alternatively you can skip the prompt by supplying all of the required parameters in a single command:

ddev config  --project-type=typo3 --docroot=public
Copied!

Start the project

ddev start
Copied!

The webserver is now running but TYPO3 is not installed.

Install TYPO3

ddev composer create "typo3/cms-base-distribution:^11"
Copied!

As we just created the project and have no, answer yes when prompted if it is ok to overwrite files in this directory.

You now have a Composer-based TYPO3 installation.

Run the Installation Setup Tool

Via the Console

ddev typo3cms install:setup
Copied!

When prompted enter a username and password for you main admin user (they will also be a system maintainer).

Enter a name for the site that will be displayed in the backend.

You can set up a basic site site displaying "Hello World" or have an empty installation by selecting no.

Via the GUI:

Create a file called FIRST_INSTALL in your webroot

ddev exec touch public/FIRST_INSTALL
Copied!

Open the installer

ddev launch typo3/install.php
Copied!

Go to the TYPO3 backend:

ddev launch typo3
Copied!

And login with the credentials you just provided.

Managing the Database

Upon calling ddev config DDEV automatically created a database for you. DDEV also created a file called public/typo3conf/AdditionalConfiguration.php in which it stored the database credentials for you.

During the installation setup process TYPO3 created all the tables it needed. If you want to have a look at the database, you can run the following command:

ddev launch -p
Copied!

Sending E-Mail

DDEV creates public/typo3conf/AdditionalConfiguration.php to fake sending mails. You can see what mails have been sent here:

ddev launch -m
Copied!

Stopping a DDEV Instance

If you want to stop all projects from running you can call:

ddev poweroff
Copied!

The projects will stay configured and databases will be persisted.

Deleting a DDEV Instance

If you want to delete the project you just created you can remove it by calling the following command in your new projects root folder:

ddev delete --omit-snapshot
Copied!

This will remove all containers from the project and delete the database.

Afterwards you can safely delete the project's root folder.