This guide uses Docker Compose to run TYPO3. Note that there is no official TYPO3 Docker image - TYPO3 is typically installed via Composer.
For Docker installation, see Docker.
TYPO3 requires:
mkdir typo3-docker
cd typo3-docker
Create docker-compose.yml:
cat <<'YAML' > docker-compose.yml
services:
db:
image: mariadb:10.6
restart: unless-stopped
environment:
MYSQL_DATABASE: typo3
MYSQL_USER: typo3
MYSQL_PASSWORD: change-me-to-secure-password
MYSQL_ROOT_PASSWORD: change-me-to-secure-root-password
volumes:
- db_data:/var/lib/mysql
web:
image: typo3:latest
restart: unless-stopped
depends_on:
- db
ports:
- "8080:80"
environment:
TYPO3_DB_HOST: db
TYPO3_DB_NAME: typo3
TYPO3_DB_USER: typo3
TYPO3_DB_PASSWORD: change-me-to-secure-password
volumes:
- typo3_data:/var/www/html
- typo3_packages:/var/www/html/typo3conf/ext
volumes:
db_data:
typo3_data:
typo3_packages:
YAML
Note: Since there’s no official TYPO3 Docker image, you can use community-maintained images like typo3/typo3 or build your own with PHP and Composer.
cat <<'YAML' > docker-compose.yml
services:
db:
image: mariadb:10.6
restart: unless-stopped
environment:
MYSQL_DATABASE: typo3
MYSQL_USER: typo3
MYSQL_PASSWORD: change-me-to-secure-password
MYSQL_ROOT_PASSWORD: change-me-to-secure-root-password
volumes:
- db_data:/var/lib/mysql
web:
image: t3docs/typo3:latest
restart: unless-stopped
depends_on:
- db
ports:
- "8080:80"
volumes:
- typo3_data:/var/www/html
- typo3_packages:/var/www/html/typo3conf/ext
volumes:
db_data:
typo3_data:
typo3_packages:
YAML
docker compose up -d
Since TYPO3 requires Composer for installation, you have two options:
Option A: Use Composer in the container
docker compose exec web composer create-project typo3/cms-base-distribution /var/www/html
Option B: Use DDEV (recommended for local development)
ddev config --project-type=typo3
ddev start
Open http://YOUR-SERVER:8080 and complete the TYPO3 Install Tool.
You’ll need to provide:
db, database: typo3, user: typo3)For production deployments:
latestFor local TYPO3 development, consider using DDEV:
# Install DDEV
curl -fsSL https://apt.fury.io/ddev/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/ddev.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/ddev.gpg] https://apt.fury.io/ddev/ * *" | sudo tee /etc/apt/sources.list.d/ddev.list
sudo apt update && sudo apt install ddev
# Create TYPO3 project
ddev config --project-type=typo3
ddev start
💼 Professional Services: Need expert help with your Typo3 Docker deployment? We offer consulting, training, and support. Contact our team →