If you have ever spent half a Monday wiring PHP, nginx, MySQL, and HTTPS on a new Mac — before writing a single line of code — you know the problem.
Laravel Herd nailed Laravel DX. MAMP is the classic one-click LAMP stack. DDEV gives you Docker recipes for CMS projects. They are all good at what they do.
MacFullStack is a native macOS app that tries to cover the whole local-dev workflow: PHP stack, arbitrary CMS projects, Node/Python proxies, mail, SQL, FTP deploy, and — in the latest release — an in-app code workspace called Project Studio.
It is built for Apple Silicon, macOS 14+, and ships a Native runtime by default (no Docker Desktop required for everyday work). Docker mode is there when you want isolation.
The pitch in one sentence
Stop assembling ten tabs (Docker, phpMyAdmin, Mailpit, FileZilla, terminal, browser) just to open a client site locally.
MacFullStack puts the stack, domains, HTTPS, services, and dev tools in one SwiftUI app with a Rust CLI under the hood.
Native first, Docker when you need it
Most days I do not want Docker Desktop eating RAM and battery.
MacFullStack’s Native mode runs bundled PHP (8.0–8.5), nginx, MySQL/MariaDB, Redis, Mailpit, and related services directly on the Mac. Switch to Docker mode when a project needs container isolation — project folders stay shared; service data is separate per mode.
Default URLs look like:
http://myproject.localhost:8088/
That avoids needing admin privileges for ports 80/443 out of the box. You can enable 80/443 in settings if you prefer.
HTTPS is handled via mkcert — no manual certificate wrestling for every new hostname.
Not just “our” templates — real client archives
This is where MacFullStack diverges from Laravel-first tools.
Native nginx does not read .htaccess. When you drop a WordPress zip, a Bitrix dump, or a legacy PHP admin panel into your projects folder, MacFullStack tries to:
- Detect the real docroot (
public/, CMS-specific layouts, etc.) - Generate nginx rewrite and security rules equivalent to common
.htaccesspatterns - Wire up a local domain so the site actually opens
Laravel, WordPress, Symfony, Drupal, Bitrix, custom PHP — the goal is “upload archive → open domain → it works,” not “only scaffolds we generated.”
Node, Vite, Next, Django — first-class-ish
PHP-only local stacks feel outdated when half your work is a Vite frontend or a Django API.
On Pro, MacFullStack treats JS and Python frameworks similarly: detect the dev server, proxy the project domain to it, and manage the worker process. Same mental model as PHP vhosts, not a separate workflow in another terminal you forget to start.
Everything in one window
Things that should not require five apps:
- Mailpit — catch outbound email inside the app
- SQL console — queries and table browsing, plus phpMyAdmin
- Doctor — stack, ports, and Docker diagnostics
- ⌘K palette — jump to projects, services, logs, Mailpit
- Share — client preview via Cloudflare or ngrok (Pro)
- FTP Manager — FTP/FTPS/SFTP two-pane sync (Pro)
- Deploy Profiles — build → upload → database checklist (Pro)
- MCP for Cursor — projects, logs, Doctor, start/stop stack
The MCP piece matters if you live in Cursor: the agent can inspect local stack state without you copy-pasting terminal output.
New in 1.1.6: Project Studio (Pro)
The latest release adds Project Studio — a sidebar workspace inspired by Herd’s Site Manager idea:
- Project list + file tree + tabbed editor
- Syntax highlighting (PHP, JS/TS, Blade, JSON,
.env, …) - Line numbers, find/replace, go-to-line, Tab indent
- Bottom dock: logs, terminal (project CWD),
.enveditor - Quick actions: browser, external IDE, Finder
It will not replace PhpStorm for huge refactors. For “open this config, tail the log, tweak .env, run one artisan command” — it keeps you inside the stack app instead of alt-tabbing across half the dock.
Free tier shows the section with an upgrade CTA; full Studio access is Pro/Teams.
Who is it for?
Good fit:
- PHP/CMS freelancers and small studios on Mac
- Devs who juggle Laravel and WordPress/Bitrix/legacy PHP
- Teams who want Native day-to-day + Docker occasionally
- Cursor users who want MCP hooked into the local stack
Maybe not:
- You only ever run pure Laravel and Herd already makes you happy
- You need Linux or Windows (MacFullStack is macOS Apple Silicon only today)
- You want 100% open-source infra-as-code — this is a productized GUI stack (Docker mode exists)
Pricing
- Free — one PHP project + core services (MySQL/MariaDB, Redis, Mailpit, phpMyAdmin). No card.
- Pro — unlimited projects, Project Studio, FTP/Deploy, Next/Django/Python, Share, Postgres, Clients cabinet
- Teams — same Pro features, more seats/devices for studios
Details: macfullstack.com/pricing
Getting started
- Download MacFullStack Free from macfullstack.com/download
- Create a project (template or import an archive)
- Open the site on the generated
.localhostdomain - Optional: activate Pro in Settings → License
Final thought
Local dev stacks are a solved problem until your client sends a Bitrix backup, a Next frontend, and an email form that only breaks on real HTTPS domains.
MacFullStack is an attempt to keep that whole mess in one native Mac app — closer to “Herd-class polish,” but wider in scope.
If that matches your workflow, try the free tier and see whether your next import opens on the first click: