Skip to content

whatwedo/dde

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

420 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dde -- Docker Development Environment

CI License: AGPL-3.0 GitHub release

A CLI tool that manages local Docker development environments with automatic HTTPS, DNS, database services, and per-project isolation.

  • Automatic HTTPS -- Traefik v3 reverse proxy with mkcert-generated certificates trusted by your OS
  • Local DNS -- dnsmasq resolves *.test domains to localhost, no /etc/hosts editing
  • Per-project services -- MariaDB, PostgreSQL, Valkey, and Mailpit with version pinning
  • Git worktree support -- Each worktree gets its own hostname and TLS certificate
  • SSH agent forwarding -- Shared SSH agent container for all projects
  • Shell completion -- Bash and Zsh completions installed automatically
  • Hook system -- Run custom scripts on project:up and project:down lifecycle events
  • Plugin system -- Extend dde with project-local or global plugins

Quick Start

Prerequisites: Docker and mkcert must be installed.

# macOS
brew tap whatwedo/dde && brew install dde

# Debian/Ubuntu
curl -fsSL https://packages.dde.sh/apt/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/dde.gpg
echo "deb [signed-by=/usr/share/keyrings/dde.gpg] https://packages.dde.sh/apt stable main" | sudo tee /etc/apt/sources.list.d/dde.list
sudo apt update && sudo apt install dde

# Alpine
curl -fsSL https://packages.dde.sh/alpine/key.rsa.pub -o /etc/apk/keys/dde.rsa.pub
echo "https://packages.dde.sh/alpine" >> /etc/apk/repositories
apk add dde

# Arch Linux
echo -e '\n[dde]\nServer = https://packages.dde.sh/arch/$arch\nSigLevel = Required DatabaseOptional' | sudo tee -a /etc/pacman.conf
curl -fsSL https://packages.dde.sh/arch/key.gpg | sudo pacman-key --add -
sudo pacman-key --lsign-key "$(curl -fsSL https://packages.dde.sh/arch/key.gpg | gpg --with-colons --import-options show-only --import 2>/dev/null | awk -F: '/^fpr/{print $10; exit}')"
sudo pacman -Sy dde

Then set up the system and start your first project:

dde system:install
cd ~/projects/my-app
dde project:init
dde project:up

Your application is now available at https://my-app.test with a trusted TLS certificate.

Why dde instead of DDEV?

DDEV is the most mature tool in this space — well-documented, actively maintained, and great for standard setups. However, DDEV wraps every web image in its own Dockerfile layers (user setup, PHP-FPM config, Xdebug, Mailpit). This means you can't run your production images directly — DDEV requires you to adopt its image ecosystem.

dde takes a different approach: your existing Docker images work as-is. dde adds a thin runtime layer that remaps the container user's UID/GID to match the host, and uses service adapters (nginx, php-fpm, apache) to reconfigure processes at startup. There is no custom Dockerfile layer — the same image you deploy to production runs locally.

dde DDEV
Custom prod images Works as-is Requires DDEV image layers
Image management Your Dockerfiles, unchanged DDEV-managed Dockerfiles
Runtime overhead Thin entrypoint (UID remap) Full image rebuild per project
Language PHP (single binary via static-php-cli) Go
License AGPL-3.0 Apache-2.0

Supported Platforms

OS Architecture
macOS x86_64, arm64
Linux x86_64, arm64

Documentation

Full documentation is available in the docs/ directory:

Getting Started

Guides

Services

Extending

Internals

Contributing

Roadmap

  • Testing basic commands and migration from v1 to v2
  • Testing database commands and worktree support
  • Testing agent integrations
  • Notify users when a new release is available
  • Add Sentry error tracking
  • GitHub Pages documentation site
  • Detect Dockerfile or docker-compose changes and prompt the user to update the project
  • Arch Linux package
  • Windows x64 build and Chocolatey package

License

This project is licensed under the AGPL-3.0-or-later license.

About

Local development environment toolset based on Docker

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors