LocalSlip docs

Quick start

Claim two apps

localslip claim notes --port 5173
localslip claim shop --port 5174
localslip get notes

get prints only the port (5173), for scripts:

PORT=$(localslip get notes)

On Windows PowerShell:

$env:PORT = localslip get notes

Reboot-order example

Same claims after you start the apps in either order.

// notes/vite.config.ts (localslipPort from /docs/vite)
server: { host: '127.0.0.1', port: localslipPort('notes', 5173), strictPort: true }
// shop/vite.config.ts
server: { host: '127.0.0.1', port: localslipPort('shop', 5174), strictPort: true }

Start shop first, then notes, or the other way around. notes is still 5173. shop is still 5174. LocalHelm is optional. You can start the processes yourself.

FilePress

Lease name = site package.json name. Claim, then let FilePress read it:

localslip claim detangler-site --port 5203 && filepress dev --host 0.0.0.0

Do not pass --port. See FilePress.

If something else is already bound to 5173, the notes app exits instead of moving to 5175. That is the occupied-port outcome. Pass --or-next only when you want a different number recorded.

Open the dashboard

localslip serve

Then visit http://127.0.0.1:54321. That Host is the lease table. A phone on Tailscale or LAN sees the visitor tiles.

To reach an app from the phone, claim with --lan and start the app on the stored bind (0.0.0.0):

localslip claim notes --port 5173 --lan
localslip serve

--lan on claim is the lease and firewall. serve already listens on all interfaces. The phone still needs the app itself on 0.0.0.0.

See what is listening

localslip ls
localslip scan

scan hides common OS ports unless you pass --all. It never kills a process.

Vite

Pin host and port from the lease. See Vite.