Hosting Providers¶
The add-on supports all major WordPress hosting platforms with provider-specific optimizations and integrations.
Supported Platforms¶
- Pantheon: Full Terminus integration with automated backup management
- WPEngine: SSH-based operations with specific key handling
- Kinsta: Direct SSH access with custom configurations
Configuration Overview¶
Each provider requires specific configuration during the ddev project-configure
setup:
Common Variables (All Providers)¶
HOSTING_PROVIDER
- Platform identifier (pantheon, wpengine, kinsta)THEME
- Path to custom theme directory (e.g.,wp-content/themes/custom/themename
)THEMENAME
- Theme name for development toolsWP_ADMIN_USER
- WordPress admin usernameWP_ADMIN_PASS
- WordPress admin passwordWP_ADMIN_EMAIL
- WordPress admin email
Provider-Specific Features¶
Pantheon¶
- Recommended Docroot:
web
(set duringddev config
) - Environments: dev, test, live, multidev
- Authentication: Terminus machine token
- Database: Automated backup management with age detection
WPEngine¶
- Recommended Docroot:
public
(set duringddev config
) - Authentication: Specific SSH key (WPEngine allows only one key per account)
- Database: SSH-based backup retrieval using nightly backups
- Variables:
HOSTING_SITE
(install name),WPENGINE_SSH_KEY
(SSH key path)
Kinsta¶
- Recommended Docroot:
public
(set duringddev config
) - Authentication: SSH keys
- Database: SSH-based backup retrieval
- Variables:
REMOTE_HOST
,REMOTE_PORT
,REMOTE_USER
,REMOTE_PATH
Configuration Storage¶
Variables are stored in two locations:
- .ddev/config.yaml
(web_environment section): For DDEV containers to access via printenv
- .ddev/scripts/load-config.sh
: For command scripts to source directly
Authentication Setup¶
Global Setup Required¶
Each provider requires initial authentication setup:
Pantheon¶
WPEngine¶
Kinsta¶
Smart Database Refresh¶
The enhanced ddev db-refresh
command works across all providers:
- Automatic Backup Age Detection: Checks if backups are older than 12 hours
- Force Flag Support: Use
-f
to create fresh backups regardless of age - Multi-Environment Support: Works with dev, test, live, and multidev environments
- Provider Agnostic: Unified interface across all platforms
# Refresh from dev (default)
ddev db-refresh
# Refresh from live environment
ddev db-refresh live
# Force new backup creation
ddev db-refresh -f
# Refresh from specific environment
ddev db-refresh staging
Platform-Specific Configurations¶
Webserver Configuration¶
- Nginx: Custom configuration for WordPress optimization
- Security Headers: X-Frame-Options, X-Content-Type-Options, X-XSS-Protection
- Gzip Compression: Optimized for web assets
- Static File Serving: Efficient handling of CSS, JS, images
File Proxy Configuration¶
- Pantheon: Proxy missing uploads from live environment
- Multi-provider support: Configurable proxy settings
- Local development: Seamless asset loading