A modern, portable local development stack for Windows.
Ampstaq is a single Go binary that replaces XAMPP and Laragon. It manages PHP, MariaDB, Apache, Redis, Node.js, and more — with a native desktop control panel, system tray icon, auto virtual hosts, multi-PHP version switching, and runtime component management.
All component packages are hosted on this repo's GitHub releases for reliability. Upstream sources are used as fallback.
- One-click installer — full or minimal installer, choose your install directory
- Dual mode — native GUI control panel (no args) or full CLI (with args)
- System tray — runs in the background, right-click menu for quick actions
- Multi-PHP — switch between PHP 7.4, 8.1, 8.2, 8.3, 8.4, and 8.5 with one command
- Runtime management — add/remove components and PHP versions after install
- Auto virtual hosts — drop a folder in
www/and gethttps://project.localautomatically - Self-hosted packages — all binaries hosted on our releases, upstream as fallback
- Auto-update checker — detects newer versions from our repo and upstream sources
- Pure Go SSL — generates trusted HTTPS certificates without OpenSSL
Download ampstaq-setup-full-1.0.0.exe (~110MB) from the latest release. Includes all components — works offline, no additional downloads needed.
- Run the installer
- Choose install directory (default:
C:\ampstaq) - One UAC prompt — installer handles everything
- Services start automatically
Download ampstaq-setup-min-1.0.0.exe (~6MB) from the latest release. Downloads components during installation from GitHub releases.
- Run the installer
- Choose install directory
- Components download automatically with progress
- Services start automatically
Requires Go 1.22+ and Wails v2 (for GUI builds).
git clone https://github.com/ItsMeStevieG/ampstaq.git
cd ampstaq
go mod tidy
# CLI-only binary
go build -ldflags="-s -w" -o ampstaq.exe ./cmd/ampstaq/
# Full GUI+CLI binary (requires WebView2 runtime)
go build -tags "wails production desktop" -ldflags="-s -w -H windowsgui" -o ampstaq.exe ./cmd/ampstaq/After building, run ampstaq init to generate configs and register services.
- Windows 10 or 11 (64-bit)
- WebView2 Runtime — required for the GUI control panel. Pre-installed on Windows 11; download for Windows 10.
- Visual C++ Redistributable — required by PHP, MariaDB, and Apache. Download from Microsoft if not already installed.
- Ports 80, 443, 3306 available — stop IIS, Skype, or other tools that may occupy these ports, or change them in
ampstaq.yaml.
ampstaq start # Start all services
ampstaq trust-ssl # Trust SSL certs (one-time, admin)
ampstaq create myapp laravel # Create a Laravel projectDouble-click ampstaq.exe (no arguments) to launch the GUI control panel. A single UAC prompt grants admin rights for the session. The app starts hidden in the system tray.
Your stack is now running:
- http://localhost — Ampstaq landing page with component versions
- http://localhost/phpmyadmin — database management
- http://localhost:8025 — Mailpit email testing
| Component | Version | Description |
|---|---|---|
| PHP | 8.5.4 (default) | Latest stable, with 5 more versions available |
| MariaDB | 11.8.6 | LTS with VECTOR support for AI/ML |
| Apache | 2.4.66 | Default web server |
| Redis | 8.6.2 | In-memory cache and data store |
| Node.js | 24.14.1 | LTS JavaScript runtime |
| Composer | 2.9.5 | PHP dependency manager |
| phpMyAdmin | 5.2.3 | Database management UI |
| Mailpit | 1.29.4 | Email testing (catches all outgoing mail) |
| Xdebug | 3.5.1 | Step debugging and profiling |
All packages are hosted as GitHub release assets — no dependency on third-party download servers.
29 extensions enabled out of the box — more than XAMPP, WampServer, or Laragon.
Loaded extensions: bcmath, bz2, curl, exif, ffi, fileinfo, ftp, gd, gettext, gmp, intl, ldap, mbstring, mysqli, odbc, openssl, pdo_mysql, pdo_odbc, pdo_pgsql, pdo_sqlite, pgsql, shmop, soap, sockets, sodium, sqlite3, tidy, xsl, zip
Zend extensions: OPcache (bytecode caching), Xdebug (step debugging, trigger-only — no performance impact unless activated)
Covers all requirements for Laravel, Symfony, WordPress, Drupal, and Magento out of the box. Xdebug is pre-configured for IDE integration (port 9003, trigger mode).
Double-click ampstaq.exe to launch the native control panel. It starts hidden in the system tray.
Control panel features (6 tabs):
- Services — start/stop/restart per service, Start All / Stop All, PHP version switcher
- Projects — create, delete, and open projects with one click
- Config — edit config files directly (httpd.conf, php.ini, my.ini, redis.conf)
- Logs — view and clear log files for all services
- Backups — create and restore backups (quick or full)
- Updates — check for and apply component updates
System tray:
- Left-click — show/focus the control panel
- Right-click — context menu: Start All, Stop All, Restart All, localhost, phpMyAdmin, Mailpit, Open Control Panel, Quit
- X button — minimizes to tray (doesn't quit)
- Quit — stops all services and exits
Built with Wails v2 (WebView2) and Bootstrap 5.3 dark theme.
Ampstaq supports multiple PHP versions side-by-side:
| Version | Status | Support Until |
|---|---|---|
| 8.5.4 | Active (default) | Dec 2029 |
| 8.4.19 | Active | Dec 2028 |
| 8.3.30 | Security only | Nov 2027 |
| 8.2.30 | Security only | Dec 2026 |
| 8.1.34 | EOL (legacy) | Ended |
| 7.4.33 | EOL (WordPress/legacy) | Ended |
ampstaq php # List installed and available versions
ampstaq php add 7.4 # Install PHP 7.4 alongside current version
ampstaq php use 7.4 # Switch active version
ampstaq php remove 8.1 # Remove a versionampstaq init Initialize configs, SSL, databases, services (post-install)
ampstaq init --silent Silent init (used by installer)
ampstaq start [service] Start all or a specific service
ampstaq stop [service] Stop all or a specific service
ampstaq restart [service] Restart all or a specific service
ampstaq status Show status of all services
ampstaq create <name> [type] Create a project (blank|laravel|wordpress|symfony)
ampstaq delete <name> Delete a project
ampstaq rename <old> <new> Rename a project
ampstaq php List PHP versions
ampstaq php add <version> Install a PHP version
ampstaq php use <version> Switch active PHP version
ampstaq php remove <version> Remove a PHP version
ampstaq component list List installed and available components
ampstaq component add <name> Install an optional component (redis, mailpit, nodejs)
ampstaq component remove <name> Remove an optional component
ampstaq service install Install as Windows Services (auto-start on boot)
ampstaq service uninstall Remove Windows Services
ampstaq service status Show service registration status
ampstaq backup Backup web root + databases
ampstaq backup --full Full backup (+ configs, SSL, vhosts)
ampstaq backups List available backups
ampstaq restore <file> Restore from a backup archive
ampstaq trust-ssl Trust the root CA in Windows certificate store
ampstaq update [component] Check for or apply component updates
ampstaq config Show current configuration
ampstaq log [file] View log files
After installation, you can add or remove optional components:
ampstaq component list # Show what's installed and available
ampstaq component add redis # Download, install, and enable Redis
ampstaq component remove redis # Stop, unregister, and remove RedisOptional components: redis, mailpit, nodejs. Core components (PHP, Apache, MariaDB) are managed by the installer.
Create a folder in www/ and Ampstaq automatically:
- Generates an Apache/Nginx virtual host config
- Creates a trusted SSL certificate
- Adds
127.0.0.1 project.localto your hosts file - Reloads the web server
www/
myapp/ -> http://myapp.local (https://myapp.local)
blog/ -> http://blog.local (https://blog.local)
api/ -> http://api.local (https://api.local)
ampstaq backup # Quick: web root + all databases
ampstaq backup --full # Full: + configs, SSL certs, vhost configs
ampstaq backups # List all backups with type and size
ampstaq restore <file> # Restore from backup archiveServices are registered automatically during installation with auto-start on boot.
ampstaq service install # Re-install services (one UAC prompt)
ampstaq service uninstall # Stop + remove all services
ampstaq service status # Check registration statusEdit ampstaq.yaml to customize your stack:
webserver: apache
php:
version: "8.5.4"
thread_safe: true
apache:
port: 80
ssl_port: 443
mariadb:
port: 3306
root_password: ""
redis:
port: 6379
enabled: true
mailpit:
smtp_port: 1025
ui_port: 8025
enabled: true
nodejs:
enabled: true
domain_suffix: ".local"
auto_vhost: true
auto_ssl: trueC:\ampstaq\
ampstaq.exe Single binary (CLI + GUI)
ampstaq.yaml Configuration
versions.json Component versions and download URLs
sources.json Upstream source definitions
tools/nssm.exe NSSM service manager
stack/ Component binaries
php/php-8.5.4/
apache/Apache24/
mariadb/mariadb-11.8.6-winx64/
redis/
nodejs/
composer/
mailpit/
phpmyadmin/
conf/ Generated service configs
apache/sites/ Virtual host configs
php/php.ini
mariadb/my.ini
apps/phpmyadmin/ phpMyAdmin instance
data/ MariaDB data, Redis data
logs/ All service logs
ssl/ Root CA + per-project certificates
www/ Your projects (web root)
backups/ Backup archives
ampstaq update # Check for updates (repo + upstream)
ampstaq update apache # Update a specific componentUpdates check our repo's versions.json first for verified versions, then check upstream sources. Only stable releases are shown.
To update Ampstaq itself, download the latest installer from releases.
MIT License