Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

TYPO3 14 Development Environment — setup.sh

Spins up a reproducible local TYPO3 v14 LTS development environment with one command, based on DDEV, Composer, TYPO3 Console, and the official Camino theme.

After running it, you get a working TYPO3 instance including a backend login and a styled Camino demo page on the frontend.

Prerequisites

  • DDEV (tested with v1.25.x)
  • Docker / Colima (running container runtime)
  • git
  • macOS or Linux, bash

The script checks these prerequisites and aborts with a clear message if anything is missing.

Usage

./setup.sh [options]
Option Description Default
--project <name> DDEV project name / URL slug typo3-dev
--admin-user <u> TYPO3 backend admin admin
--admin-pass <p> Admin password (TYPO3 policy: ≥ 8 chars, upper/lower/digit/special char) generated
--php <x.y> PHP version in the container 8.4
--db <type:version> DDEV database — only mariadb or mysql (e.g. mysql:8.0) mariadb:11.8
--reset, --force Delete an existing environment and rebuild off
--delete, --destroy Delete an existing environment (no rebuild) off
-h, --help Show help

Alternatively via environment variables: T3_PROJECT, T3_ADMIN_USER, T3_ADMIN_PASS, T3_PHP, T3_DB.

Examples

# Default setup
./setup.sh

# Custom project name + a different PHP version (default is 8.4)
./setup.sh --project my-shop --php 8.3

# Completely rebuild an existing environment (destructive!)
./setup.sh --project my-shop --reset

# Delete an existing environment without rebuilding (destructive!)
./setup.sh --project my-shop --delete

The script creates the environment in its own subdirectory ./<project-name>/ (DDEV convention: one project = one directory).

Result

After a successful run:

Frontend : https://<project>.ddev.site/          (Camino demo)
Backend  : https://<project>.ddev.site/typo3/

Open with:

cd <project>
ddev launch          # Frontend
ddev launch /typo3/  # Backend

What the script does

  1. Preflight – checks ddev, docker, git
  2. Re-run guard – aborts if the environment already exists (unless --reset is passed)
  3. DDEV – configures (typo3, public docroot, PHP, database, TYPO3_CONTEXT=Development/Local) and starts
  4. Composertypo3/cms-base-distribution:^14.3 + typo3/theme-camino:^14.3 + helhum/typo3-console:^9.0 + helhum/dotenv-connector:^3.2 (plugin allow-listed)
  5. Headless setuptypo3 install:setup (DB, admin) without the web installer; the admin is registered as a system maintainer
  6. Theme/siteextension:setup, points the Camino demo site at the project URL, flushes the cache
  7. .gitignore – separates versionable configuration from generated runtime files
  8. Report – URLs and credentials

Technical notes

  • Application context is Development/Local (via TYPO3_CONTEXT in .ddev/config.yaml) — not Production.
  • The backend admin is additionally registered as a system maintainer (SYS/systemMaintainers).
  • No typo3/cms monolith package — it conflicts with typo3/theme-camino. Uses typo3/cms-base-distribution instead (individual typo3/cms-* packages).
  • Camino ships its own site including a demo start page; the script points its base at the DDEV URL so the demo appears directly under the project URL.
  • A generated admin password is guaranteed to satisfy the TYPO3 password policy (≥ 8 characters, upper-/lowercase letter, digit, special character) and is only printed in the final report, never written to a file.

Version control

Should be versioned: .ddev/config.yaml, composer.json, composer.lock, config/. The generated .gitignore excludes the fully generated directories: /public/ (entirely generated for Composer-managed TYPO3), /vendor/, and /var/. From .ddev/, only config.yaml is versioned (/.ddev/* + !/.ddev/config.yaml) — the remaining .ddev/ files are managed by DDEV itself.


Built using Spec Driven Development.

About

One-command setup for a reproducible local TYPO3 v14 LTS dev environment (DDEV + Composer + Camino theme), ready to log in and browse.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages