DEV Community

Cover image for Install Craft CMS v5 with one command via DDEV
Matthias Andrasch
Matthias Andrasch

Posted on • Edited on

Install Craft CMS v5 with one command via DDEV

The new major version 5 of Craft CMS will introduce a lot of new features and improvements. See all changes here: Craft 5 Beta Released.

Do you already want to try the new version? It is super simple with DDEV - just paste one command into your terminal!

Update: Craft5 is released - https://craftcms.com/blog/craft-5. The commands in this article are updated for the latest stable v5 version 🎉

What is Craft CMS?

Craft CMS is a flexible Content Management System with an awesome authoring experience (AX) as well as powerful features for developers and designers alike. 2023 was another great year for Craft CMS: 2023 in Review. There are now over 8'000 developers registered in Craft Discord - according to the latest State of Craft talk by Brandon Kelly.

Requirements

If you haven't installed a Docker runtime, you might be happy with Orbstack. Other alternatives: DDEV docs: Docker installation.

Afterwards you can simply install DDEV via homebrew (on Mac):



brew install ddev/ddev/ddev && mkcert -install


Enter fullscreen mode Exit fullscreen mode

Check if it was successful with ddev -v.

For other operating systems see DDEV docs for setup instructions.

Install CraftCMS v5

Get the latest CraftCMS v5 version with this one command:



mkdir craft5-ddev && \ 
  cd craft5-ddev && \
  ddev config \
    --project-type=craftcms \
    --docroot=web \
    --create-docroot \
    --php-version="8.2" \
    --database="mysql:8.0" \
    --nodejs-version="20" && \
  ddev start -y && \
  ddev composer create -y --no-scripts craftcms/craft && \
  ddev craft install/craft \
    --username=admin \
    --password=password123 \
    --email=admin@example.com \
    --site-name=Testsite \
    --language=en \
    --site-url='$DDEV_PRIMARY_URL' && \
  echo 'Nice, ready to launch!' && \
  ddev launch


Enter fullscreen mode Exit fullscreen mode

You will be greeted with the default index template:

Image description

You can also open the backend via



ddev launch /admin


Enter fullscreen mode Exit fullscreen mode

and login via admin and password123.

Craft login

Automate it

You can take this one step further and generate the folder (and therefore project names) dynamically. Thanks very much to August Miller for this recommendation!



TIMESTAMP_FOLDER=$(date +'%Y%m%d-%H%M'); mkdir "craft5-$TIMESTAMP_FOLDER" && cd "craft5-$TIMESTAMP_FOLDER" && \
ddev config \
    --project-type=craftcms \
    --docroot=web \
    --create-docroot \
    --php-version="8.2" \
    --database="mysql:8.0" \
    --nodejs-version="20" && \
  ddev start -y && \
  ddev composer create -y --no-scripts craftcms/craft && \
  ddev craft install/craft \
    --username=admin \
    --password=password123 \
    --email=admin@example.com \
    --site-name=Testsite \
    --language=en \
    --site-url='$DDEV_PRIMARY_URL' && \
  echo 'Nice, ready to launch!' && \
  ddev launch


Enter fullscreen mode Exit fullscreen mode

But beware to not fill up your local harddrive too much. Delete DDEV projects with ddev delete (or ddev delete -O without snapshot) and keep your projects organized with ddev list. You can also use ddev delete -O <project-name>.

Try it out online with GitHub Codespaces

If you don't want to install Craft CMS v5 locally, you could also launch a new Github Codespace instance here:

Screenshot launch codespace

Paste the command from above into the terminal:

Screenshot codespaces terminal

Open port 8080 (web) in the simple browser or in a new browser tab in the ports section:

Screenshot codespaces with Craft CMS open

Have fun trying Craft CMS v5 out!

More Resources:

Want to try CraftCMS stable with one command?

https://dev.to/mandrasch/install-craft-cms-v4-with-one-command-via-ddev-32da

Top comments (0)