A macOS menubar app that gives every dev server a named localhost address — reachable on your Wi-Fi or through a public HTTPS link, whatever port it landed on.
$9 one time · single device · refunded if it doesn't fit
dashboard.localhostthis Macdashboard.localanyone on your Wi-Fiquiet-lion-7f3a.localdock.linkanyone, anywhereNames come from your project folders — rename any of them in a click. Forgot one? Open localhost and they're all listed. This is the floor: it works with no switch thrown, and the other two rungs build on the same name.
How far each dev server reaches — localhost on this Mac, your Wi-Fi, or a public link anyone can open.
dashboard.localhostBookmark it. Put it in your OAuth callback. Paste it in the README. It keeps working across restarts, port changes and whatever your agent decided to grab today — and when your framework auto-increments the port, the name follows the newest server, so you stop testing the instance you forgot to kill.
dashboard.localFlip one switch and the project answers on your Wi-Fi — test localhost on your phone in real iOS Safari, on a real device. No cable, no build, nothing installed on the phone, and nothing else on your machine becomes reachable.
a link anyone can openOne more rung up and you get a public HTTPS link — share localhost with a client, a colleague in another city, or Stripe's webhook settings. They need no app and no account. It carries a secret key, expires in an hour, and dies the moment you switch it off.
It also keeps a tidy list of everything listening, and quietly flags the servers still running after you've moved on.

I run three or four coding agents at once, most days. They start servers wherever there's a free port, so the URL in my browser was wrong about half the time — and the worst version of that is an agent deciding a busy port means my code is broken, and “fixing” something that worked fine.
So I stopped caring which port anything uses. Each project has a name now. The name always works.
Then a client asked to see something mid-build, and I realised the name could go further than my own machine. So it does: the same project, on my phone, or on a link I can send to someone in another city — and off again a minute later.
It's one person's tool, priced like one: $9, once. If it doesn't fit your workflow, email me and I'll refund it.
— Dmytro
Pay once, keep it.
Secure checkout · prices in USD · VAT/sales tax added at checkout where it applies
Payment is processed by Creem, our merchant of record, who will appear on your statement and issue your invoice. Your licence key is emailed to the address you pay with.
Built by one person. If it does not fit your workflow, email me within 14 days and I'll refund it — how refunds work.
Yes — move the project's Reach to "Internet" and you get a temporary HTTPS link anyone can open: a client, a colleague in another city, or a webhook provider like Stripe. Nothing to install, and they don't need an account or your Wi-Fi. The link carries a secret key, so anyone who reaches the address without it sees a page that names nothing. It expires after an hour, and dies the moment you switch it off or quit. Licensed feature; needs no setup beyond that one control.
Only if you switch it on for that project, one project at a time — it's off by default. Then dashboard.local opens on your phone or a colleague's laptop with no setup on their end. Everything you didn't switch on is refused without revealing that it exists.
No. The tunnel runs between your Mac and Cloudflare's network, so Cloudflare carries the traffic and terminates the TLS — we never see it. Our server's only involvement is handing your Mac a permanent address the first time you ever share, which needs your licence key and nothing else. It never learns your project names, your ports, or when a link is used.
For showing someone your own dev server from a Mac — yes, with a different shape: ngrok exposes a port, Localdock shares a project that already has a name, behind a key-gated link that expires in an hour, with nothing for the recipient to install. It's not a replacement for production ingress or always-on tunnels. The honest version, both directions: Localdock vs ngrok.
Yes — that's who it's built for. Names stay stable whatever port an agent's server lands on, and the app ships an MCP server with three tools — list_ports, get_free_port and cleanup — so parallel sessions stop colliding on ports and stop “fixing” code that was never broken. More on the workflow: Localdock for AI coding agents.
No setup at all. Any *.localhost name already resolves to your own machine — that's a web standard, handled by macOS and every browser. Localdock listens on port 80, reads the name you asked for, and forwards you to whatever port that project's server is on.
No. No hosts file, no dnsmasq, no sudo. Install it, start a server, it has a name.
From your project folders and container names, so most things are named correctly before you touch anything. Renaming is one click — type a new name, press return. A name another project already uses gets refused with a reason instead of silently stealing the address.
Yes. Localdock adds an address, it never takes one away. Your server keeps its port and keeps answering on it, so nothing in your setup has to change — and if Localdock isn't running, you simply lose the pretty name.
Yes. WebSockets, HMR, server-sent events and streaming all pass through untouched, because Localdock reads the name and then forwards raw TCP — it reads no further into your traffic and rewrites none of it.
Then Localdock steps aside and serves on 7777 instead — your URLs become dashboard.localhost:7777, and settings tells you which port is live. Nothing breaks, and you can pick any port you like.
Nothing about your projects is ever sent to us. Names, ports and paths stay local, and the only call carrying anything about you is the license check — license key, an instance ID, your device name, nothing else. If you switch on sharing for a project, that project becomes reachable from your own network, which is the point; it still doesn't pass through us.
The moment your payment clears you land on a download page with your licence key on it, and the same key is emailed to the address you paid with. Paste it into Localdock and you're done — no account, no waiting.
No subscription — $9 once, single device, version 1 updates included, no account. macOS 14 and later only.
One address per project on this Mac, on your Wi-Fi, or anywhere at all. Download it in the next minute.
$9 one time · single device · refunded if it doesn't fit