A Tauri desktop application for simplified local WordPress development using Docker, Nginx, and PHP-FPM.
DevWP has been completely rewritten in Rust using the Tauri framework, replacing the previous JavaScript desktop implementation. This transition has resulted in significant improvements in performance, stability, and resource efficiency.
- Enhanced security features and stability due to Rust's memory safety guarantees
- Smaller application size compared to the legacy desktop build (~96% reduction in bundle size), leading to faster downloads and reduced disk space usage
- More efficient resource usage (~58% less memory usage), resulting in faster load times and smoother user experience
- Native integration with the operating system, providing a more seamless and responsive interface
- Simpler binary distribution without the need for bundling a separate runtime, making it easier to install and update
- Easy Site Management: Create and manage local WordPress sites with a simple GUI
- Docker Integration: Isolated environments with Nginx, PHP-FPM, MariaDB, and Redis
- WP-CLI Support: Run WP-CLI commands directly from the interface
- Development Tools: Mailpit for email testing, SonarQube for code quality, Seonaut for SEO analysis
- Xdebug Support: Toggle PHP debugging on/off
- Multisite Support: WordPress multisite configurations
- Cross-Platform: Windows, macOS, and Linux support
- Docker Desktop - Required for managing WordPress environments
- Docker Desktop
- Bun - JavaScript runtime and package manager
- Rust - Required for Tauri framework and native compilation
Download from GitHub Releases:
- Windows:
devwp-x.x.x-setup.exe - macOS:
devwp-x.x.x.dmg - Linux:
devwp-x.x.x.AppImage
# Using yay
yay -S devwp
# Manual installation
git clone https://aur.archlinux.org/devwp.git
cd devwp
makepkg -si# Clone and setup
git clone https://github.com/SpiZeak/DevWP.git
cd DevWP
# Install dependencies
bun install
# Initialize submodules for SEO analysis
git submodule update --init --recursive
# Trust the SSL certificate (eliminates browser warnings)
./scripts/trust-certificate.sh
# Start development (launches Tauri with hot reload)
bun run dev# Build the production app (creates native executable)
bun run build:tauriBuilt binaries are created in src-tauri/target/release/bundle/
See Certificate Trust Setup for detailed SSL configuration instructions.
- Launch DevWP and click "New Site"
- Enter a domain name (
.testis added automatically) - Configure options like web root and multisite settings
- Click "Create" - DevWP handles the rest!
- Access: Click site URLs to open in browser
- WP-CLI: Use the terminal icon to run WordPress commands
- Delete: Remove sites completely (includes cleanup)
| Service | Port | URL | Purpose |
|---|---|---|---|
| Nginx | 80 | https://site.test | Web server |
| Mailpit | 8025 | http://localhost:8025 | Email testing |
| SonarQube | 9000 | http://localhost:9000 | Code quality |
| Seonaut | 9001 | http://localhost:9001 | SEO analysis |
# Start development server
bun run dev
# Enable verbose container logs
bun run dev -- --verbose
# Other commands
bun run lint # Check code quality
bun run format # Format code
bun run typecheck # Type checking
bun run build # Build frontend assets for production
bun run build:tauri # Build desktop app bundles with Tauri
# Verbose logging (any command)
DEVWP_VERBOSE=true bun run dev# Build desktop app bundles with Tauri
bun run build:tauriDownload pre-built releases from GitHub Releases.
- App won't start: Ensure Docker Desktop is running
- Sites not loading: Check ports 80/443 aren't in use by other services
- Permission errors: Run DevWP as administrator for hosts file modifications
- Container issues: Use the container status panel to restart services
- Submodule problems: Run
git submodule update --init --recursive
For SonarQube authentication, set the SONAR_TOKEN environment variable with a valid user token from http://localhost:9000.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE file for details.