Matthias Andrasch
Posted on January 7, 2024
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
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
You will be greeted with the default index template:
You can also open the backend via
ddev launch /admin
and login via admin
and password123
.
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
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:
Paste the command from above into the terminal:
Open port 8080 (web) in the simple browser or in a new browser tab in the ports section:
Have fun trying Craft CMS v5 out!
More Resources:
- Welcome to Craft - official tutorial
- craftquest.io: Craft 5 guide
- spin-up-craft (without DDEV, Docker native)
- Craft CMS Discord
Want to try CraftCMS stable with one command?
https://dev.to/mandrasch/install-craft-cms-v4-with-one-command-via-ddev-32da
Posted on January 7, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.