Skip to content

SpiZeak/DevWP

Repository files navigation

DevWP

Build Status License: MIT Ko-fi

A Tauri desktop application for simplified local WordPress development using Docker, Nginx, and PHP-FPM.

Rust Now rewritten in Rust!

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
image

Features

  • 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

Prerequisites

For Using the App

For Development (Building from Source)

  • Docker Desktop
  • Bun - JavaScript runtime and package manager
  • Rust - Required for Tauri framework and native compilation

Installation

Pre-built Binaries

Download from GitHub Releases:

  • Windows: devwp-x.x.x-setup.exe
  • macOS: devwp-x.x.x.dmg
  • Linux: devwp-x.x.x.AppImage

Arch Linux (AUR)

# Using yay
yay -S devwp

# Manual installation
git clone https://aur.archlinux.org/devwp.git
cd devwp
makepkg -si

Development Setup

Quick Start

# 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

Building for Distribution

# Build the production app (creates native executable)
bun run build:tauri

Built binaries are created in src-tauri/target/release/bundle/

See Certificate Trust Setup for detailed SSL configuration instructions.

Usage

Creating a Site

  1. Launch DevWP and click "New Site"
  2. Enter a domain name (.test is added automatically)
  3. Configure options like web root and multisite settings
  4. Click "Create" - DevWP handles the rest!

Managing Sites

  • Access: Click site URLs to open in browser
  • WP-CLI: Use the terminal icon to run WordPress commands
  • Delete: Remove sites completely (includes cleanup)

Available Services

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

Development

# 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

Building

# Build desktop app bundles with Tauri
bun run build:tauri

Download pre-built releases from GitHub Releases.

Troubleshooting

Common Issues

  • 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.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Ko-fi

License

MIT License - see LICENSE file for details.

About

DevWP is a desktop application for managing local WordPress development. Built with Tauri, React, and TypeScript, it provides a graphical interface for spinning up and managing WordPress sites in a Docker-powered environment including Nginx, PHP-FPM, MariaDB, Redis, and Mailpit.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors