PHPackages                             kerns/craft-on-ddev - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. kerns/craft-on-ddev

AbandonedArchivedProject[DevOps &amp; Deployment](/categories/devops)

kerns/craft-on-ddev
===================

Craft on DDEV

v0.3.5(3y ago)71321MITTwig

Since Mar 2Pushed 3y agoCompare

[ Source](https://github.com/kerns/craft-on-ddev)[ Packagist](https://packagist.org/packages/kerns/craft-on-ddev)[ RSS](/packages/kerns-craft-on-ddev/feed)WikiDiscussions main Synced today

READMEChangelog (10)DependenciesVersions (28)Used By (0)

Craft on DDEV
=============

[](#craft-on-ddev)

**Dockerized local development for Craft CMS, pre-configured with Vite and built on DDEV.**

Features
--------

[](#features)

- [DDEV](https://ddev.com/get-started/) for local development in a Docker setup that just works
- [Vite](https://vitejs.dev/) for HMR with live reloading in development, and asset optimization bundling for production
- [Tailwind 3.x](https://tailwindcss.com) for utility-first CSS and [Alpine](https://alpinejs.dev/) for lightweight reactivity

Installation
------------

[](#installation)

### I. Getting Started

[](#i-getting-started)

Make sure you have installed [Docker](https://www.docker.com/), [DDEV](https://ddev.com/) and [Composer](https://getcomposer.org/) before continuing.

- Docker Desktop - Visit [docker.com/get-started](https://www.docker.com/get-started)
- DDEV - Visit [ddev.com/get-started/](https://ddev.com/get-started/)
- Composer - You could visit [getcomposer.org/](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos) but if you're using macOS and already running Homebrew, simply run `brew install composer`.

With that behind you, open a terminal prompt and run:

```
composer create-project kerns/craft-on-ddev  --no-install && cd
```

Make sure that `` is the location of a **new** or **existing and empty** directory.

Though not a requirement, it would be a good idea (and allow you to skip Step 2) if you named this directory after your desired DDEV subdomain. For example, a directory named `my-website` would be pre-configured to use `https://my-website.ddev.site` in Step 3.

### II. Configure DDEV (Optional)

[](#ii-configure-ddev-optional)

You can skip this step if the name of your root directory matches your desired DDEV subdomain.

If you need your local DDEV domain to be different from the name of this project's root directory, run the following command from inside said directory:

```
ddev config
```

Follow the prompts.

- **Project name:** `my-test-site` would establish a project URL of `https://my-test-site.ddev.site`
- **Docroot location:** defaults to `web`, should be kept as-is
- **Project Type:** defaults to `php`, should be kept as-is

### III. Install

[](#iii-install)

To install Craft, Vite and a few supporting plugins run the following command and follow the prompts.

```
make install
```

This builds a sane, Dockerized development environment running the latest version of Craft CMS. It also installs a selection of plugins for Craft as defined in `composer.json.default`. You can edit/expand this list however you like, just remember to mirror those choices in your `Makefile` prior to running `make install`.

**Pay special attention to the Craft installation prompts**. After setting the admin's account credentials, you'll be prompted for your desired site name and url.

The **Site name** can be anything, can include spaces and capital letters, and doesn't need to correspond to your project's root folder name or DDEV domain.

The **Site url** If for some reason the suggested default isn't acceptable, answer the prompt for a url with the full url (😎 e.g. `https://my-website.ddev.site`)

\_💡 If you're unclear about the url of your project open another terminal window in the same directory and run `ddev describe`.

Usage
-----

[](#usage)

### Development

[](#development)

Start Vite for HMR and live reloading with:

```
make dev
```

Edit the default `index.twig` file in `templates/` to confirm that changes are being pushed to your browser.

*💡 Run `ddev launch` to open the domain of your Craft project in your default browser. Like all project specific DDEV commands, it can be run from any location below your project's root directory.*

### Building for Production

[](#building-for-production)

Generate a production ready build of your site with:

```
make build
```

Bundles and exports assets for use in production (default location is `/web/dist/`).

### Other Makefile Commands

[](#other-makefile-commands)

- `make up` - Confirms your DDEV project is running. Rebuilds the containers and pushes over your SSH credentials if needed.
- `make install` - Runs a complete one-time process to set the project up and install Craft
- `make composer ` - Run Composer commands inside the container, e.g. `make composer install`
- `make craft ` - Run Craft commands inside the container, e.g. `make craft project-config/touch`
- `make npm ` - Run npm commands inside the container, e.g. `make npm install`
- `make pull` - Pull remote db &amp; assets (requires setting up [craft-scripts](https://github.com/nystudio107/craft-scripts/))

### Useful DDEV Commands

[](#useful-ddev-commands)

`ddev start`, `ddev stop`, `ddev restart`, `ddev import-db`, `ddev describe`, and `ddev poweroff` are among [the most useful commands available when using DDEV](https://ddev.readthedocs.io/en/latest/users/cli-usage/). They can be run from any directory below your project's root directory.

### Included Craft CMS Plugins

[](#included-craft-cms-plugins)

The following plugins are installed by default:

- [Vite](https://github.com/nystudio107/craft-vite)
- [Template Comments](https://github.com/nystudio107/craft-templatecomments)
- [Postmark](https://plugins.craftcms.com/postmark)

To add or remove plugins to your installation edit your `composer.json` prior to running `make install`. Remember to mirror those choices in `Makefile`.

*💡Note that some plugins require an additional configuration file be added to your `/config` directory.*

### Included Tailwind Plugins

[](#included-tailwind-plugins)

- [Aspect Ratio](https://github.com/tailwindlabs/tailwindcss-aspect-ratio)
- [Line Clamp](https://github.com/tailwindlabs/tailwindcss-line-clamp)
- [Typography](https://github.com/tailwindlabs/tailwindcss-typography)
- [Forms](https://github.com/tailwindlabs/tailwindcss-forms)

### Included Javascript Libraries

[](#included-javascript-libraries)

- [AlpineJS](https://alpinejs.dev/)
- [Lazysizes](https://afarkas.github.io/lazysizes/)

Roadmap
-------

[](#roadmap)

- Tailwind 3
- Thin out the plugins
- Bump php, mariadb + node
- Include most useful DDEV commands
- Improve default error page layouts

Acknowledgements &amp; Credits
------------------------------

[](#acknowledgements--credits)

Based on 1DR's excellent [Craft CMS Starter](https://github.com/onedarnleyroad/craftcms). Please read [1DR's credits](https://github.com/onedarnleyroad/craftcms#acknowledgements--credits)! Landing page bg courtesy [svgbackgrounds.com](https://svgbackgrounds.com/svgbackgrounds.com) and [@MattVisiwig](https://twitter.com/MattVisiwig) 🙏.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 74.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Total

26

Last Release

1438d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/00324ace849274a87b637d26ca32b5112c024fcbb6c745d31fdb605e333ab899?d=identicon)[kerns](/maintainers/kerns)

---

Top Contributors

[![johndwells](https://avatars.githubusercontent.com/u/134110?v=4)](https://github.com/johndwells "johndwells (244 commits)")[![kerns](https://avatars.githubusercontent.com/u/20254?v=4)](https://github.com/kerns "kerns (81 commits)")[![saltymouse](https://avatars.githubusercontent.com/u/7547649?v=4)](https://github.com/saltymouse "saltymouse (1 commits)")

---

Tags

craftcmsddevdockertailwindcssvite

### Embed Badge

![Health badge](/badges/kerns-craft-on-ddev/health.svg)

```
[![Health](https://phpackages.com/badges/kerns-craft-on-ddev/health.svg)](https://phpackages.com/packages/kerns-craft-on-ddev)
```

###  Alternatives

[in2code/in2publish_core

Content publishing extension to connect stage and production server

40143.4k](/packages/in2code-in2publish-core)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4778.9k](/packages/tiamo-phpas2)[wapmorgan/php-rpm-packager

RPM packager for PHP applications.

106.6k](/packages/wapmorgan-php-rpm-packager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
