https://github.com/wnunezc/wsdd-rust
Windows desktop app for managing local PHP + Docker stacks with multi-version PHP, local SSL, hosts automation, and MSI packaging.
https://github.com/wnunezc/wsdd-rust
desktop-application docker docker-desktop eframe egui local-development mkcert php rust windows wix wsl2
Last synced: 7 days ago
JSON representation
Windows desktop app for managing local PHP + Docker stacks with multi-version PHP, local SSL, hosts automation, and MSI packaging.
- Host: GitHub
- URL: https://github.com/wnunezc/wsdd-rust
- Owner: wnunezc
- License: other
- Created: 2026-04-07T03:33:09.000Z (21 days ago)
- Default Branch: main
- Last Pushed: 2026-04-17T05:30:24.000Z (11 days ago)
- Last Synced: 2026-04-17T06:33:05.368Z (11 days ago)
- Topics: desktop-application, docker, docker-desktop, eframe, egui, local-development, mkcert, php, rust, windows, wix, wsl2
- Language: Rust
- Homepage:
- Size: 1.56 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Security: SECURITY.md
- Notice: NOTICE.md
Awesome Lists containing this project
README
# WebStack Deployer for Docker (WSDD)
Windows desktop application that automates the setup of a local web development environment
using Docker. Includes multi-version PHP, local SSL, MySQL, phpMyAdmin, hosts management,
Xdebug, and optional Redis/Memcached/Mailpit services.
*Languages: [English](README.md) | [Español](docs/readme/README.es.md) | [Français](docs/readme/README.fr.md) | [हिन्दी](docs/readme/README.hi.md) | [中文](docs/readme/README.zh.md)*
*Quick links: [User Guide](docs/help/user-guide.en.md) | [Migration Map](MIGRATION.md) | [License](LICENSE.md) | [Notice](NOTICE.md) | [Third-Party Licenses](THIRD_PARTY_LICENSES.md) | [Contributing](CONTRIBUTING.md) | [Security](SECURITY.md) | [Discussions](https://github.com/wnunezc/wsdd-rust/discussions) | [Report a Bug](https://github.com/wnunezc/wsdd-rust/issues/new)*
## About WSDD
WSDD is a Windows-first local stack manager for PHP + Docker development. It automates the
first-run environment setup, provisions per-project PHP containers, configures local SSL with
MKCert, updates the Windows `hosts` file, and centralizes container/project operations in a
single desktop app.
- **Current stage**: Stable `1.0.0` release
- **Primary distribution package**: Windows MSI installer
- **Current UI languages**: English, Spanish, French, Hindi, Chinese
- **Language fallback**: English is the fallback for any missing localized UI/help content
- **Issue reporting**: [GitHub Issues](https://github.com/wnunezc/wsdd-rust/issues/new)
## System Requirements
- **Operating System**: Windows 10 / Windows 11
- **Privileges**: Administrator (required)
- **Docker Desktop**: Must be installed by the user before first run
- **WSL 2**: Required by Docker Desktop
- **Chocolatey**: Automatically installed if not present
- **PowerShell**: 7.5+ (automatically installed/upgraded if missing)
## What This Application Does
1. **Verifies and prepares dependencies**: Chocolatey, PowerShell 7.5+, Docker Desktop, MKCert
2. **Configures the Docker stack**: Nginx reverse proxy, MySQL, phpMyAdmin
3. **Manages web projects**: Creates PHP containers per version with Apache + Xdebug
4. **Automatic local SSL**: MKCert certificates per domain, no browser warnings
5. **Automatic hosts**: Modifies `C:\Windows\System32\drivers\etc\hosts` for you
6. **Optional developer services**: Redis, Memcached, and Mailpit are disabled by default and deploy only after explicit activation in Settings
## Docker Stack Containers
### Base Services (always active)
- **WSDD-Proxy-Server** — Nginx reverse proxy (ports 80 / 443)
- **WSDD-MySql-Server** — MySQL 8 (port 3306)
- **WSDD-phpMyAdmin-Server** — phpMyAdmin
### PHP Containers (one per version used)
Available versions: 5.6 - 7.2 - 7.4 - 8.1 - 8.2 - 8.3 - 8.4
For each activated version, the following development URLs are created:
- `php{version}.wsdd.dock` — Main PHP environment
- `cron{version}.wsdd.dock` — Cron jobs manager
- `wm{version}.wsdd.dock` — Webmin (server administration)
### Optional Services (disabled by default)
- **WSDD-Redis-Server** — Redis cache/queues/sessions (`redis:7.4.8-alpine`)
- **WSDD-Memcached-Server** — Memcached legacy cache (`memcached:1.6.39-alpine`)
- **WSDD-Mailpit-Server** — Local SMTP capture and web UI (`axllent/mailpit:v1.29.7`)
Optional services use isolated compose files under `Docker-Structure/services/`, separate Compose
projects, and the shared `wsdd-network`. They are not deployed with the base stack.
## Disk Environment Structure
The application creates and manages the `C:\WSDD-Environment\` directory:
```
C:\WSDD-Environment\
├── PS-Script\ — PowerShell automation scripts
├── Docker-Structure\ — docker-compose, PHP images, services, and SSL assets
├── wsdd-config.json — Application settings
└── wsdd-secrets.json — Managed secrets for containers
```
## First Launch — Automatic Process
1. The application verifies it has administrator privileges
2. Extracts embedded resources to `C:\WSDD-Environment\`
3. Checks Chocolatey → installs if missing
4. Checks PowerShell 7.5+ → installs/upgrades if missing
5. Checks Docker Desktop → blocks if not installed/configured
6. Checks MKCert → installs and configures local CA
7. Starts the base Docker stack
8. Shows the main panel
## Usage After First Launch
### Adding a Project
1. Click "Add Project"
2. Choose the local domain (e.g., `myproject.wsdd.dock`)
3. Select the PHP version
4. The application creates the container, SSL certificate, and hosts entry
### Managing Containers
- Start / stop individual containers from the main panel
- Open real-time logs with one click
- Restart the complete stack from the menu
## Technical Information
- **Version**: 1.0.0 (Rust edition)
- **GUI**: egui / eframe (immediate-mode)
- **Async**: tokio
- **Configuration**: `C:\WSDD-Environment\wsdd-config.json`
- **Secrets**: `C:\WSDD-Environment\wsdd-secrets.json`
- **Logs**: Environment variable `RUST_LOG=wsdd=debug` for detailed logs
## License
Proprietary. See [LICENSE.md](LICENSE.md) for terms,
[NOTICE.md](NOTICE.md) for component attribution, and
[THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) for referenced license families.
Copyright (c) 2026 Walter Nunez / Icaros Net S.A. All Rights Reserved.