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