2025-06-12

👨🏻‍💻 DDEV

For local development we mostly use DDEV, a Docker based development platform.

DDEV is also the official local hosting solution for Craft CMS and have a Laravel preset which makes it a reasonable choice for us.


Commands

ddev start
ddev stop

ddev restart

ddev describe

ddev import-db -f ~/Downloads/dump.sql.gz
ddev export-db -f dump.sql.qz

File structure of /.ddev

.ddev
├── .gitignore // edited to keep changes in repo
├── apache
│   ├── README.apache.txt
│   ├── apache-site.conf
│   └── seconddocroot.conf.example
├── commands
│   ├── db
│   │   └── README.txt
│   ├── host
│   │   ├── README.txt
│   │   └── solrtail.example
│   ├── solr
│   │   ├── README.txt
│   │   └── solrtail.example
│   └── web
│       └── README.txt
├── config.m1.yaml // config for Apple M1 and M2 processors
├── config.yaml // main config file
├── db-build
│   └── Dockerfile.example
├── db_snapshots
├── docker-compose.vite.yaml // expose port 3000 to the world
├── homeadditions
│   ├── README.txt
│   └── bash_aliases.example
├── nginx_full
│   ├── README.nginx_full.txt
│   ├── nginx-site.conf // edited for cache busting
│   └── seconddocroot.conf.example
├── providers
│   ├── README.txt
│   ├── acquia.yaml.example
│   ├── git.yaml.example
│   ├── localfile.yaml.example
│   ├── pantheon.yaml.example
│   ├── platform.yaml
│   └── rsync.yaml.example
├── web-build
│   └── Dockerfile.example
└── xhprof
    └── xhprof_prepend.php