
SupbuddyYour Supabase's best friend.
Run multiple Supabase projects locally, fully isolated, each with its own custom domain. No port conflicts. No port changes.
Stock supabase start runs one. Supbuddy runs all of them.
- Multiple isolated stacks at once
- Studio per project (studio.<project>.local)
- Stable DB hostnames (db.<project>.local)
- Caddy L4 routing keeps DB ports stable across restarts
- Logflare on/off toggle
- Visual config.toml editor
- next.config Server Actions audit
- HTTPS with auto-trusted certs
- Custom TLDs (.local, .dev, your own)
- Built-in DNS server with wildcards
- LAN sharing (phone, tablet, other Macs)
- Tailscale for access from anywhere
- Docker Compose management
- Caddy-powered reverse proxy
- Built-in MCP server for Claude Code, Cursor, Codex, Windsurf
Run every Supabase project at once
In thin mode each project gets its own port block and a unique Compose project on your host Docker, with no nested containers, so several full Supabase stacks run side by side. Ports never clash, databases never bleed across projects, and switching takes one click.
- Multiple isolated stacks running side by side on the shared host daemon
- A Studio per project at studio.<project>.local
- Stable DB hostnames (db.<project>.local) that survive restarts, via Caddy L4
- Add-on Compose services (Redis, a queue, anything) merged onto the stack
- Logflare on/off per project
- All projects active at once, no caps, no tiers
Real local domains with HTTPS
A built-in DNS server and a local certificate authority give every project a custom domain with a green padlock. No /etc/hosts edits, no per-site mkcert.
- Custom TLDs: .local, .dev, or your own
- Auto-trusted HTTPS from a local CA you trust once
- Built-in DNS server with wildcard subdomains
- A full Caddy reverse proxy under the hood
- Real ports 80 and 443 via port forwarding
- Certificates renew automatically
Not stuck on localhost
Share your dev servers across the LAN, reach them through Tailscale, and let Supbuddy map every app in your monorepo automatically.
- LAN sharing to your phone, tablet, or another Mac
- Tailscale for access from anywhere
- Auto-detects Turborepo, Nx, and workspaces; each app gets its own domain
- mDNS broadcasts .local aliases automatically
Your daily driver
Edit config.toml in a visual form, watch requests in real time, and run your package.json scripts, all from one app.
- Visual config.toml editor with validation and backups
- Auth, database, storage, and 10+ config sections with form controls
- next.config Server Actions audit with a paste-ready fix
- Real-time request monitoring: filter by method, status, or domain
- Script runner with live logs
Your AI agent runs your dev environment
A built-in MCP server lets Claude Code, Cursor, Codex, and Windsurf drive Supbuddy directly, and every project carries a live briefing so agents know your setup without asking.
- Agents register projects, start and stop Supabase, manage domains, and read logs
- Reads are immediate; writes go through a plan/apply gate with an audit log and 7-day recovery
- A live .supbuddy/ briefing per project (mappings, services, ports, MCP setup)
- Skill and rule files for Claude Code, Cursor, Copilot, Windsurf, Continue, and JetBrains
- One-click MCP install for each editor
See it running
A look at the Monitor and Configure tabs in motion while you work.
Monitor
Monitor
Requests flowing through your domains in real time.
Configure
Configure
Expand a project to its apps, services, and scripts, then open the Supabase config editor.
Frequently asked questions
The questions developers actually ask before running local dev on Supbuddy.
Can I run multiple Supabase projects at the same time?
+
Yes. Supbuddy runs every Supabase project side by side, each fully isolated with its own ports and its own custom domain (api.acme.local, studio.acme.local). You never stop one project to start another, so supabase start never hits a port conflict. Run as many projects at once as you want.
Do I still have to edit /etc/hosts?
+
No. Supbuddy runs a local DNS server and writes the /etc/resolver entries for you, so domains like api.acme.local resolve to localhost automatically. You never hand-edit /etc/hosts again, and wildcard subdomains work without adding a line per host.
How do I get HTTPS on a custom local domain like api.acme.local?
+
Supbuddy runs Caddy with its own local certificate authority that you trust once. Every project domain then gets a real green-padlock HTTPS certificate automatically. No per-site mkcert runs, no browser warnings, and certificates renew on their own.
How is Supbuddy different from Laravel Herd or a manual mkcert + dnsmasq + Caddy setup?
+
Like Laravel Herd, Supbuddy gives you local domains with HTTPS without manual setup. It is framework-agnostic and built around running multiple isolated Supabase stacks at once. Compared to a hand-rolled mkcert + dnsmasq + Caddy setup, it bundles that whole stack into one app: CA trust, the DNS server, the HTTPS proxy, request monitoring, and an MCP server your AI agent can drive.
Can my AI coding agent run my local dev environment?
+
Yes. Supbuddy ships a built-in MCP server with full read and write access. Agents like Claude Code, Cursor, and Codex CLI can register projects, start and stop Supabase, manage domains, and read request logs directly. Your AI agent runs your dev environment instead of you copy-pasting commands.
Can I run extra services like Redis or a queue alongside my Supabase stack?
+
Yes. Declare extra Docker Compose services in a supbuddy.addons.yml file (or your existing docker-compose.override.yml) and Supbuddy merges them onto the stack, starts and health-checks them on the same Compose network as Postgres, wires a custom local domain, and tails their logs, all from one file running next to your Supabase services.
Does my AI coding agent get context about each project automatically?
+
Yes. Supbuddy writes a live .supbuddy/ briefing into each project (its mappings, services, ports, and MCP setup), plus skill and rule files for Claude Code, Cursor, Copilot, Windsurf, Continue, and JetBrains, so an agent working in that repo sees your setup without being told. The generic Claude and Cursor skill pointer can be written once machine-wide and shared across all your projects, or kept local per project.
Is there a CLI? Can I use Supbuddy without the desktop app?
+
Yes. Install the CLI with npx supbuddy@latest, which puts the supbuddy and sup commands on your PATH, independent of the desktop app. Start the background daemon with supbuddy daemon --detach, then drive it: supbuddy project ls, supbuddy supabase start <project>, supbuddy map ls, and supbuddy tui for a live terminal dashboard. The CLI and the app share the same state, so you can install the app later or never.
Does Supbuddy run on Linux?
+
The CLI and daemon run on macOS and Linux. The desktop GUI app is macOS-only for now. On Linux, install the CLI with npx supbuddy@latest, run supbuddy daemon --detach to start the worker (Caddy proxy, DNS, Supabase and Compose lifecycle, MCP), and use supbuddy service install to start it on login via systemd-user. Everything ships through npm, including the proxy binary, so there is nothing else to install.
Can I run Supbuddy headless on a server or in CI?
+
Yes. The headless CLI is built for SSH sessions, servers, and CI. Run npx supbuddy@latest, then supbuddy daemon --detach, and control everything with commands (proxy, projects, supabase, compose, scripts) plus --json output for scripting and -f to stream logs. No GUI is required at any point.
Get Supbuddy
Download the desktop app, or install the CLI from your terminal.
macOS
Apple Silicon (arm64)
Download .dmgWindows
Windows 10+ (x64)
Coming SoonLinux
AppImage / .deb
Coming SoonInstalls the supbuddy and sup commands on your PATH, independent of the desktop app. Runs on macOS and Linux.
Browse the command reference →