PortBay
The open-source, container-free local development environment manager for macOS.
One Play button per project. One Stop that always works. Real HTTPS hostnames, managed DNS and a reverse proxy you never touch — and you can drive the whole stack from your editor, your terminal, or your AI agent.
Documentation · Architecture · Status · Contributing
macOS · Built with Tauri 2 · Rust · Svelte 5
Status: released for macOS (Apple Silicon). Signed, notarized builds ship via DMG and Homebrew — see Getting started. Linux and Windows are on the roadmap.
▶ Try it in your browser — the real interface with sample projects, no install required.
Running more than one project locally turns your machine into an unmanaged server.
You juggle background processes (pnpm dev, php-fpm, vite, redis-server),
fight over ports, hand-edit /etc/hosts, mint self-signed certificates, and keep a
reverse proxy alive — then multiply all of that by every project you own. The
result is forgotten processes, port collisions, expired certs, and "it worked
yesterday" mornings.
PortBay treats your machine like a small PaaS. Each project is a declarative record — a hostname, a start command, a port — and the app owns the rest: lifecycle, routing, and certificates. Stop the app and every project stops. Restart one project and the others are untouched.
The design constraint is to stay native and small: under 80 MB idle RAM and a sub-30 MB installer, so it sits next to your editor and browser without being noticed.
https://myproject.test, issued and trusted locally..test routing via a bundled DNS resolver — no per-project hosts edits.Everything is driven by a Rust core with full CLI parity, so the GUI — and your AI agent — are clients, not the source of truth.
| HTTP request inspector — live Caddy traffic | Bundled databases — MySQL, MariaDB, Postgres, Redis |
| Web servers — per-project Caddy routes | Public tunnels — share over Cloudflare |
| Certificates — locally-trusted HTTPS | Local DNS — wildcard .test resolution |
PortBay is not the first local-dev manager. It is the open-source, container-free, native one.
| PortBay | Laravel Herd | ServBay | Docker / OrbStack | |
|---|---|---|---|---|
| Open source | ✅ AGPL-3.0 | ❌ | ❌ | Engine ✅ / app ❌ |
| Price | Free · optional Pro | Free / paid Pro | Free / paid | Free / paid |
| Container-free | ✅ | ✅ | ✅ | ❌ |
Local HTTPS + .test |
✅ | ✅ | ✅ | Manual |
| Multi-runtime (Node/PHP/…) | ✅ | PHP-first | ✅ | ✅ |
| Idle footprint | Small (native) | Small | Medium | Large |
| Cross-platform | macOS (Linux/Windows planned) | macOS/Windows | macOS/Windows | All |
If you live in PHP on macOS today, Herd is excellent. PortBay's bet is a single open, lightweight tool that handles mixed Node/PHP/static stacks without a daemon zoo. It's free and open source (AGPL-3.0); an optional, pay-what-you-want Pro tier — earned with a donation or a merged pull request — funds the project and unlocks hosted multi-device sync and a few power-user features. No subscription, and nothing you can't build yourself.
For head-to-head breakdowns, see the in-depth comparisons — PortBay vs Laravel Herd, ServBay, MAMP, Docker, Valet, DDEV, and Local.
GUI (Tauri + Svelte)
└─ Tauri IPC → PortBay Core (Rust)
├─ Process Compose — manages your dev processes
├─ Caddy — reverse proxy (admin API for live routes)
├─ dnsmasq — wildcard *.test resolution
├─ mkcert — locally-trusted HTTPS certificates
└─ Hosts file — managed entries via a privileged helper
The full design is in docs/ARCHITECTURE.md; the UX
principles are in docs/UX_DESIGN.md.
PortBay ships as a signed, notarized macOS app for Apple Silicon (macOS 11+).
Install with Homebrew:
brew tap portbay-app/portbay
brew install --cask portbay
Or download the DMG: grab the latest PortBay-macos-arm64.dmg from the
releases page, open it,
and drag PortBay.app into Applications. Full install notes — uninstall,
requirements, and Gatekeeper details — are in the
install guide.
For contributors, or anyone who'd rather build it themselves.
Prerequisites: Rust, pnpm, and the Xcode command-line tools.
git clone https://github.com/portbay-app/portbay.git
cd portbay
pnpm install
# Fetch the platform-specific sidecar binaries (large, so not committed):
./scripts/fetch-caddy.sh
./scripts/fetch-mkcert.sh
./scripts/fetch-mailpit.sh
./scripts/fetch-cloudflared.sh
./scripts/fetch-dnsmasq.sh
pnpm tauri dev
Re-run a fetch script after bumping the version constant inside it. On a fresh
clone, pnpm tauri dev will not start until the sidecar binaries are in place.
The documentation site is built with VitePress and lives
in docs-site/ — install, first run, project setup, CLI reference,
registry schema, troubleshooting, and migration guides from Herd / ServBay / MAMP.
pnpm docs:dev # local preview
pnpm docs:build
PortBay is released and in active use on macOS (Apple Silicon). Most of what follows is already shipped — not planned.
PortBay is early but open. Issues and discussions are welcome now — bug reports,
ideas, and feedback on the architecture all help. Code contributions are opening up
as the public API stabilizes; see CONTRIBUTING.md for how to
get involved, and CODE_OF_CONDUCT.md for the ground rules.
If PortBay is useful to you, starring the repo genuinely helps it reach other developers.
PortBay is free and open source (AGPL-3.0). Sponsorships fund the things open source still has to pay for — a code-signing certificate, build infrastructure, and maintainer time — and keep the project independent. If your team relies on it, please consider sponsoring.
PortBay Community — this repository — is the open-source local development manager for individuals and teams who want a clean, transparent way to run projects locally. It is fully usable offline, with no account and no network.
PortBay Pro is developed separately and may include team sync, cloud backups, remote access, hosted recipes, billing, organization management, enterprise policy controls, and managed infrastructure. It builds on the Community app through documented public APIs — the Community edition is never crippled to upsell it, and this repository contains no proprietary Pro code. See Community vs Pro and the repo boundaries.
PortBay Community is licensed under the GNU Affero General Public License v3.0
only (AGPL-3.0-only) — you may use, study, modify, and share it,
and if you distribute it or run a modified version as a network service, the
AGPL's terms apply. PortBay Pro is separate commercial software.
NOTICESPDX-License-Identifier: AGPL-3.0-only · © PortBay contributors.
This is a summary, not legal advice — the LICENSE file is binding.
SECURITY.md. Do not
open public issues for security problems.GOVERNANCE.md.