Skip to content

ItsMeStevieG/ampstaq

Ampstaq

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.

Why Ampstaq?

  • 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 get https://project.local automatically
  • 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

Installation

Option 1: Full Installer (recommended)

Download ampstaq-setup-full-1.0.0.exe (~110MB) from the latest release. Includes all components — works offline, no additional downloads needed.

  1. Run the installer
  2. Choose install directory (default: C:\ampstaq)
  3. One UAC prompt — installer handles everything
  4. Services start automatically

Option 2: Minimal Installer

Download ampstaq-setup-min-1.0.0.exe (~6MB) from the latest release. Downloads components during installation from GitHub releases.

  1. Run the installer
  2. Choose install directory
  3. Components download automatically with progress
  4. Services start automatically

Option 3: Build from Source

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.

Prerequisites

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

Quick Start

ampstaq start                  # Start all services
ampstaq trust-ssl              # Trust SSL certs (one-time, admin)
ampstaq create myapp laravel   # Create a Laravel project

Double-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:

Components

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.

PHP Extensions

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

GUI Control Panel

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.

PHP Version Management

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 version

CLI Commands

ampstaq 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

Runtime Component Management

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 Redis

Optional components: redis, mailpit, nodejs. Core components (PHP, Apache, MariaDB) are managed by the installer.

Auto Virtual Hosts

Create a folder in www/ and Ampstaq automatically:

  1. Generates an Apache/Nginx virtual host config
  2. Creates a trusted SSL certificate
  3. Adds 127.0.0.1 project.local to your hosts file
  4. 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)

Backup & Restore

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 archive

Windows Services

Services 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 status

Configuration

Edit 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: true

Directory Structure

C:\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

Updating

ampstaq update                 # Check for updates (repo + upstream)
ampstaq update apache          # Update a specific component

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

License

MIT License

About

Modern local development stack for Windows. Single Go binary managing PHP 8.5, MariaDB 11.8, Apache, Redis, Node.js and more. Web dashboard, system tray, auto virtual hosts, SSL, and one-click updates.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors