leeroy / craft-starter-nuxt
Craft CMS starter in headless with DDEV and Nuxt 3
README
Starter running on Nuxt 3 with headless Craft CMS
Local machine prerequisites:
Overview
Craft CMS
Located in the backend
folder, it's pre-configured to be headless.
We need Craft Pro for GraphQL.
Remember to add your sections to the Public Schema of GraphQL.
Nuxt 3
Located in the frontend
folder.
Configured to get data from Craft using nuxt-graphql-client (documentation).
Localization with i18n (documentation).
Create a new project with this starter
- Open terminal prompt, and run:
composer create-project leeroy/craft-starter-nuxt PATH --no-install
- Edit backend/.ddev/config.yaml file and change the
name
(php_version
ordatabase
if needed). - Then to install a clean version of Craft, run:
make install
- Follow the prompts (DDEV helped filling the .env file)
Once the process is complete, type make dev
to start developing on the project. 🚀
The command above will automatically:
- Copy your local SSH keys into the container
- Start your DDEV project
- Install Composer
- Install yarn
- Generate
APP_ID
and save to your.env
file - Generate
SECURITY_KEY
and save to your.env
file - Installing Craft for the first time, allowing you to set the admin's account credentials
- Install all Craft plugins
Developing on an existing project
make dev
This command will automatically:
- Copy your local SSH keys into the container
- Start your DDEV project
- Install Composer
- Install yarn
- Spin up the Nuxt server
- Output a
ddev describe
to show the project domain - Open up the browser (for MacOS users)
Open up a browser to your project domain (something like xxxx.ddev.site
) to verify that Vite is connected. Begin crafting beautiful things. ❤️
Databases
Export a database with:
cd backend && ddev export-db > ./dumpfile.sql.gz
Import a database with:
cd backend && ddev import-db < dumpfile.sql.gz
You can also use DDEV's included phpMyAdmin for database imports — just be aware it's much slower.
Makefile
A Makefile has been included to provide a unified CLI for common development commands.
make install
- Runs a complete one-time process to set the project up and install Craft.make boot
- Starts the DDEV project, ensuring that SSH keys have been added, and npm & Composer have been installed.make up
- Runs the Craft commands to clear cache and load the yaml configuration files. It's done also when running one of themake dev
commandsmake dev
- Runs a one-time build of all front-end assets, then starts Vite's server for HMR.make composer xxx
- Run Composer commands inside the container, e.g.make composer install
make craft xxx
- Run Craft commands inside the container, e.g.make craft project-config/touch
DDEV
Make sure that nothing else is running at the same time (Apache or other Docker-based environment).
To turn off Lando:
lando poweroff