Alkio template

Setup checklist

Proves Alkio hosting: worktree owns the app; mesh self-hosts previews; funnel for public.

  1. 01

    Product host on OSS Tailscale

    Studio uses open-source tailscaled (brew formula). Standalone GUI cannot Funnel or host Tailscale SSH.

  2. 02

    Mesh members

    MBP + iPhone + Studio show in `tailscale status` on the same tailnet.

  3. 03

    SSH paths

    OpenSSH + 1Password agent over MagicDNS (keys). Optional: `tailscale set --ssh` for identity SSH (not 1P keys).

  4. 04

    Install deps in worktree

    cd templates/web-app && npm install (Node ≥ 24; product host uses 26).

  5. 05

    Mesh preview

    npm run dev → http://<tailscale-ip>:8080 or npm run preview:mesh

  6. 06

    Production funnel

    npm run build && npm run prod:funnel (or hosting/funnel.sh --port 8080)

  7. 07

    Passkeys

    Register once per hostname (RP ID). Mesh MagicDNS and funnel hostnames are different RPs.

# Authoring Mac
tailscale status
ssh studio   # LAN
ssh studio-ts  # MagicDNS after join (OpenSSH + 1P)

# Studio (Role H)
brew install --formula tailscale
sudo brew services start tailscale
sudo tailscale up --ssh --accept-dns --hostname=studio

# This app
cd templates/web-app && npm i && npm run dev