Relay

Install Relay

Run the full stack on your hardware — Relay server, database, and workers. Inbox and other client apps connect over the network without running Relay on every device.

One-line install

Installs the @tiny-factories/relay-cli npm package, checks your Node.js version, and creates a default config:

curl -fsSL https://relay.tinyfactories.space/install.sh | bash

Requires Node.js 20+. The script gives OS-specific guidance if Node is missing, and never runs sudo for you. When it finishes, run relay onboard for guided first-run setup.

npm global CLI

Prefer to install manually? The one-liner is just a wrapper around npm:

npm install -g @tiny-factories/relay-cli@latest

relay onboard    # guided, OS-aware first-run setup
relay init       # create default config (~/.relay/config.json)
relay start      # run server + worker supervisor
relay install    # macOS login item (launchd)
relay status     # health check

relay onboard walks you through configuration interactively. See the home server guide for the full setup.

Homebrew

brew install relay — coming soon.

From source (development)

git clone https://github.com/your-org/relay
cd relay
npm install
npm run build
npm run relay:init
npm run relay:install   # macOS login item

Home server topology

The typical home-lab setup runs Relay always-on on a Mac mini (or similar): server and worker as background services, with Inbox on laptop and phone connecting over Tailscale.

Mac mini (launchd via relay install)
  com.inbox.relay → relay start (supervisor)
    ├─ Relay server (:3000)
    └─ worker (polls RELAY_URL)

Clients (any network)
  Inbox PWA → RELAY_PUBLIC_URL

See the full guide: docs/home-server.md. Pair workers from the admin UI, set RELAY_PUBLIC_URL for remote clients, and use relay pair <code> for directed worker pairing.

Next steps