localhost:
v0.1.0The first release, for macOS, Linux and Windows

Every local project,
one place to run it.

localhost remembers how each of your projects runs. Pick a Project, press Start All and watch every Service come up, instead of keeping a row of terminal tabs alive.

Free and open source for macOS, Windows and Linux

Acme Shop~/Code/acme-shop
A working copy of the localhost window. Pick a Project in the sidebar or the Ports view, select a Service to see its own log, and use Start All, Stop All, Start, Restart and Stop.

It’s live: pick a Project, a Service or Ports, and start or stop anything.

Fig 01 · Commands

If it runs in your terminal, it runs here.

A Service is a folder, a command line and its environment. localhost runs it in your login shell, so your PATH, version managers and profile all apply.

Nodepnpm dev
Bunbun run dev
Pythonuv run fastapi dev
Rustcargo run
Composedocker compose up postgres
Anything./bin/dev --port $PORT
  • Runs as $SHELL -l -c, so pipes and && work
  • Gets its Port as $PORT; command lines are never rewritten
  • Stop ends the whole process tree, every time

Fig 02 · Ports

Know who’s on :3000.

A Service counts as Running once its Port accepts connections. If the Port is taken, localhost says by whom, and can start on the next free one for that Run only.

How Ports work →

Fig 03 · Environment

Environment without .env juggling.

Variables on the Project, on each Service and in Environment Profiles. Any of them can be a Secret, kept in Keychain, Secret Service or Credential Manager, never in a file.

Environment and Secrets →

Fig 04 · Suggestions

Point it at a folder.

localhost reads package.json scripts, Compose files, Python apps and Cargo binaries, then suggests Services. You review every one, and nothing is applied silently.

Add your first Project →

Fig 05 · Keyboard

Keyboard first.

⌘K jumps to any Project or Service and runs any action. Every action has a shortcut, and the arrow keys move across the window.

All shortcuts →

Fig 06 · Local-first

Your machine, your rules.

No account

No sign-in and no backend. Works offline, on your machine only.

Nothing in your repo

Configuration lives in localhost’s own storage. Export a Project file when you want to share one.

Nothing silent

No automatic restarts, and no Suggestion applied until you check it.

Native everywhere

SwiftUI on macOS, one light app for Linux and Windows, all on one Rust core.

Fig 07 · Command line

And from the terminal.

The localhost command runs on the same core and the same data: list Projects, see what is running, read the latest logs, or run a Project until Ctrl-C.

The command line →

Close the terminal tabs.

Configure a Project once. From then on, it is one click away.

Install localhost for macOS

Two quick steps, usually under a minute.

  1. Drag it to Applications

    Open localhost-<version>.dmg and drag localhost to Applications.

    Download localhost-<version>.dmg
  2. Open it the first time

    localhost isn’t notarized by Apple yet, so macOS blocks the first launch once:

    1. Click Done in the warning.
    2. Open System Settings › Privacy & Security and scroll to Security.
    3. Click Open Anyway, and confirm with your password or Touch ID.

    Or run this in Terminal, then open localhost:

    xattr -dr com.apple.quarantine /Applications/localhost.app

macOS 15 or later · Apple silicon or Intel

  1. Run the installer

    Open localhost_<version>_x64-setup.exe. It installs for your user only, no administrator rights needed.

    Download localhost_<version>_x64-setup.exe
  2. Get past SmartScreen

    The installer isn’t signed by a known publisher yet, so Windows says “Windows protected your PC”:

    1. Click More info.
    2. Check that the file is localhost_<version>_x64-setup.exe.
    3. Click Run anyway.

Windows 10 or 11 · x64 · WSL 2 for Projects in WSL

  1. Download your package

  2. Install it

    From the folder you downloaded it to:

    sudo apt install ./localhost-app_<version>_amd64.deb
    sudo dnf install ./localhost-app-<version>-1.x86_64.rpm
    chmod +x localhost-app_<version>_amd64.AppImage && ./localhost-app_<version>_amd64.AppImage

    Secrets need a Secret Service (GNOME Keyring, KWallet). On stock GNOME the tray icon needs the AppIndicator extension.

x86_64 · Ubuntu 22.04+ · Debian 12+ · Fedora

On another system?Install guide →