Stratosv1.4.0
Features

The full picture, in one menu bar.

A guided tour through everything Stratos can do. Each feature links to its full documentation page with step-by-step instructions and configuration examples.

01

Menu-bar stack control

Start, stop, and restart every component of the local stack from a single popover. Status is reflected in the menu-bar icon — green when healthy, amber when something needs attention, red on failure. Each service can be operated independently: restart nginx without taking PHP down, cycle MySQL without losing the port binding.

Services panel
02

Auto-discovered .test domains

Drop a folder under your webroot and Stratos assigns a `.test` domain to it within a second. No editing `/etc/hosts`, no dnsmasq configuration, no DNS cache flushing. HTTPS is one click away — the app generates a self-signed certificate on demand and trusts it system-wide via the macOS keychain.

Working with sites
03

Per-project PHP version

Install every supported PHP version in parallel and pin one per project. A single line in `stratos.yml` (`php: 8.3`) is enough — the FPM pool is rebuilt and nginx is reloaded automatically. No more juggling `phpbrew`, `valet isolate`, or per-shell rc files.

PHP version management
04

Mail catcher & inbox

Mail sent from any local app — Laravel notifications, WordPress contact forms, Symfony Mailer — is captured to a searchable inbox. No SMTP credentials to manage, no need to disable send. Open the captured email to inspect headers, view HTML, and verify templates.

Mail catcher
05

Webhook receiver & replay

Point your local app at `http://127.0.0.1:9920/webhooks` and every incoming request is captured. Inspect headers and bodies, then re-send the same payload to a different local URL to reproduce test scenarios. No more asking Stripe to "send that webhook again."

Webhooks
06

Laravel dump server

When running `php artisan dump-server` against Stratos, every `dump()` and `dd()` lands in a dedicated tab with full stack traces. Live, searchable, and rotating to keep the buffer bounded.

Dump server
07

Xdebug on demand

Toggle Xdebug per project. When enabled, Stratos writes the correct `zend_extension` line to the active FPM pool config and reloads PHP. Stratos does not modify global PHP configuration — changes stay scoped to the project they apply to.

Xdebug
08

SQLite browser

Open any `database/database.sqlite` file from a project. Browse schemas, page through the first 50 rows, and run read-only SELECT queries against a built-in editor. No DB client to install, no driver to load.

SQLite browser
09

Node version manager

Install multiple Node.js versions in parallel and switch per project. A marker block in your `~/.zshrc` keeps the active version in scope for new shells without polluting the rest of your PATH.

Node versions
10

Cloudflare tunnel sharing

Need a colleague to see a local site? Generate a temporary `https://*.trycloudflare.com` URL. The app manages the `cloudflared` binary, the tunnel process, and tears the URL down on demand.

Tunnels
11

CLI companion

A `stratos` binary for the terminal: `stratos open mysite.test`, `stratos logs -f`, `stratos status`. Install once with `stratos install` and it lives at `~/bin/stratos`, where the rest of your shell tools already live.

CLI
12

Project scaffolding

Spin up a Laravel, Symfony, WordPress, or bare-PHP project from a template. Specify PHP version, Xdebug state, and a domain name; the app creates the directory, writes `stratos.yml`, and starts the dev server.

Project templates