This repository is a ready-to-fork and run example that sets up Drupal CMS inside a GitHub Codespace using DDEV. It provides a fully orchestrated developer environment for rapid prototyping and testing of Drupal projects in the cloud — no local setup required.
The goal of this project is not just to install Drupal CMS, but to demonstrate how DDEV can be used inside a GitHub Codespace to:
- Run a complete Drupal CMS environment (core + contrib modules/themes)
- Automate setup via a
Makefile - Launch the site in a browser from within the Codespace container
- Provide a clean starting point for your own Drupal projects
- Drupal CMS 1.3.x: A curated Drupal distribution with smart defaults
- DDEV: Local dev tooling inside the Codespace container
- Makefile: Automates setup (cleaning, starting DDEV, Composer install)
- Devcontainer config: VS Code & Codespaces setup with useful PHP extensions
- Post-install hooks: Automatically fetch and copy the Drupal CMS profile
- Extra Hero recipe: Adds hero components and sample content to showcase Basecore's hero patterns
- Contrib modules like
webform,project_browser,extra_project_browser, and a full set of CMS tools - Two free, contributed Drupal themes:
Both themes are developed and maintained by More than Themes, a long-standing contributor to the Drupal community offering free and premium themes for over a decade.
Click the “Use this template” button or fork it to your GitHub account.
From your forked repository:
Code → Open with Codespaces → Create new CodespaceOnce the Codespace has been created, open a terminal in the Codespace and run:
makeThis will:
- Clean the Drupal CMS directory
- Start or restart DDEV
- Run Composer install
- Run post-install hooks
- Launch the Drupal CMS site in a browser
Note: While the
devcontainer.jsonincludes apostCreateCommandintended to automate this step, it currently does not work reliably in Codespaces. Manual execution ofmakeis required for now.
This is tracked as a future improvement.
After make finishes, your default browser will open and point to the running Drupal CMS site inside the container.
make # Full setup: clean, start DDEV, install Drupal CMS, launch browser
make clean # Clean up everything except composer.json
make ddev # Start or restart the DDEV container
make setup # Run Composer install and post-install hooks
make launch # Open the Drupal CMS instance in the browserThis template includes the extra_hero recipe and the extra_project_browser module.
After installation, enable them using Drush inside the DDEV container:
ddev exec "cd cms && vendor/bin/drush en -y extra_project_browser extra_hero"Then apply the recipe:
ddev exec "cd cms && vendor/bin/drush recipe extra_hero"You can also enable them via the admin UI:
- Enable
Project BrowserandExtra Project Browsermodules in Extend. - Open Project Browser and install the Extra Hero recipe from there.
You don’t need to install anything locally to use this — just a GitHub account with Codespaces enabled.
If running locally (optional):
- Docker
- DDEV
- GNU Make
This is a great starting point for your own Drupal projects using Codespaces. You can:
- Add your own modules/themes in
composer.json - Modify the custom profile
- Change the default site installation options
- Add database seeders or migrations
