Skip to content

wnunezc/wsdd-rust

Repository files navigation

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 | Español | Français | हिन्दी | 中文

Quick links: User Guide | Migration Map | License | Notice | Third-Party Licenses | Contributing | Security | Discussions | Report a Bug

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

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 for terms, NOTICE.md for component attribution, and THIRD_PARTY_LICENSES.md for referenced license families. Copyright (c) 2026 Walter Nunez / Icaros Net S.A. All Rights Reserved.

About

Windows desktop app for managing local PHP + Docker stacks with multi-version PHP, local SSL, hosts automation, and MSI packaging.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors