Supbuddy

SupbuddyYour Supabase's best friend.

Run multiple Supabase projects locally, fully isolated, each with its own custom domain. No port conflicts. No port changes.

Download the app for macOSApple Silicon (arm64) · free forever
or, if you prefer the CLI
Installs the supbuddy and sup commands on your PATH, independent of the app. Runs on macOS and Linux.
Showing the App view. Flip to CLI and the preview and the sections below switch to the terminal.
Supbuddy · Configure3 active
acmeTenvIsolated
AppsSupabaseScriptsAI ToolsSettings
api.acme.localKong
db.acme.local:54322PostgreSQL
studio.acme.localStudio
mail.acme.localInbucket
logs.acme.localLogflare
billingTenvIsolated
crmTenvIsolated1
running|:80:443|DNS 127.0.0.1:5353|stable DB ports via Caddy L4

Stock supabase start runs one. Supbuddy runs all of them.

Multiple Supabase stacks at once
  • 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
Everything else you need
  • 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
LAN SharingTailscaleSupabaseTurborepoNext.jsDockerMCP for Claude Code, Cursor, Codex, Windsurf
Multiple Supabase, isolated

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
3 isolated Supabase stacks● 2 active
acmedb.acme.local
DBAuthStudioAPI
billingdb.billing.local
DBAuthStudioAPI
crmdb.crm.local
DBAuthStudioAPI
Domains, HTTPS, DNS

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
DNS
Built-in DNS● :5353
app.acme.local127.0.0.1
*.acme.local127.0.0.1
google.comupstream
Reach it anywhere

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
LAN sharingTailscaleTurborepoNext.jsDocker
acme-project
📁 apps/
├──webweb.acme.local
├──adminadmin.acme.local
└──apiapi.acme.local
Day to day

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
Live Requests
GETweb.acme.local12ms
POSTapi.acme.local45ms
GETstudio.acme.local8ms
AI-native

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
M
MCP Server● :9877
Claude Codelist_projects
Cursorrestart_supabase
Codex / Windsurfread_env_file
Soft-deletes + audit log + plan/apply for destructive ops.
The desktop app

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.

Download

Get Supbuddy

Download the desktop app, or install the CLI from your terminal.

Desktop app

macOS

Apple Silicon (arm64)

Download .dmg

Windows

Windows 10+ (x64)

Coming Soon

Linux

AppImage / .deb

Coming Soon
Command-line (CLI) · macOS and Linux

Installs the supbuddy and sup commands on your PATH, independent of the desktop app. Runs on macOS and Linux.

Browse the command reference →