Installation
Prerequisites
Section titled “Prerequisites”- Docker Desktop (macOS) or Docker Engine (Linux) — must be installed and running
- mkcert — for generating locally-trusted TLS certificates (
brew install mkcerton macOS,apt install mkcerton Linux) - macOS (x86_64 or arm64) or Linux (x86_64 or arm64)
Installation
Section titled “Installation”macOS (Homebrew)
Section titled “macOS (Homebrew)”brew tap whatwedo/ddebrew install ddedde system:installDebian / Ubuntu (APT)
Section titled “Debian / Ubuntu (APT)”curl -fsSL https://packages.dde.sh/apt/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/dde.gpgecho "deb [signed-by=/usr/share/keyrings/dde.gpg] https://packages.dde.sh/apt stable main" | sudo tee /etc/apt/sources.list.d/dde.listsudo apt updatesudo apt install ddedde system:installAlpine
Section titled “Alpine”curl -fsSL https://packages.dde.sh/alpine/key.rsa.pub -o /etc/apk/keys/dde.rsa.pubecho "https://packages.dde.sh/alpine/main" >> /etc/apk/repositoriesapk add ddedde system:installArch Linux
Section titled “Arch Linux”Add the repository to /etc/pacman.conf:
[dde]Server = https://packages.dde.sh/arch/$archSigLevel = Required DatabaseOptionalThen import the signing key and install:
curl -fsSL https://packages.dde.sh/arch/key.gpg | sudo pacman-key --add -sudo pacman-key --lsign-key <fingerprint>sudo pacman -Sy ddedde system:installThe key fingerprint is shown when running gpg --with-fingerprint <(curl -fsSL https://packages.dde.sh/arch/key.gpg).
What system:install configures
Section titled “What system:install configures”The system:install command sets up all system-level components that dde needs:
- mkcert — Installs a local root CA into your system trust store. All project certificates are signed by this CA, so browsers trust them without warnings.
- dnsmasq — Configures DNS resolution for
*.testdomains. On macOS this uses/etc/resolver/test; on Linux it integrates with systemd-resolved or NetworkManager. - Traefik — Starts a Traefik v3 reverse proxy container on ports 80 and 443 that routes traffic to your project containers.
- SSH agent — Starts a shared SSH agent container so your SSH keys are available inside project containers.
- Shell completion — Installs completion scripts for your detected shell (Bash or Zsh).
DNS queries are forwarded to 9.9.9.9 and 149.112.112.112 (Quad9) by default. You can override this in the global config at ~/.dde/config.yml.
Verify your installation
Section titled “Verify your installation”After installation, verify that everything is working:
dde system:doctorThis runs 11 checks covering:
| Check | What it verifies |
|---|---|
| BinaryPath | dde binary is in PATH and executable |
| DockerAvailable | Docker daemon is reachable |
| DockerCompose | docker compose subcommand is available |
| Mkcert | mkcert binary is installed |
| RootCaTrusted | mkcert root CA is installed in the system trust store |
| Dnsmasq | dnsmasq container is running |
| DnsResolution | *.test domains resolve to 127.0.0.1 |
| Network | The dde Docker network exists |
| Traefik | Traefik container is running and healthy |
| SshAgent | SSH agent container is running |
| Mailpit | Mailpit container is running |
All checks should pass. If any fail, re-run dde system:install or consult the error message for guidance.