Add SSH CLI access and update install docs

This commit is contained in:
Chris Wanstrath 2026-03-16 16:35:19 -07:00
parent 195be426f1
commit 21c6c27c92
2 changed files with 22 additions and 0 deletions

View File

@ -34,6 +34,18 @@ Once complete, visit `http://<hostname>.local` on your local network.
- https://toes.local web UI for managing your projects. - https://toes.local web UI for managing your projects.
- `toes` CLI for managing your projects. - `toes` CLI for managing your projects.
## ssh cli
You can manage your toes server from any machine on your network over SSH — no install required.
```bash
ssh cli@toes.local # interactive shell with tab completion
ssh cli@toes.local list # run a single command
ssh cli@toes.local logs fog # stream logs for an app
```
The `cli` user's login shell is the `toes` binary itself. No password is needed. With no arguments, you get an interactive REPL. With arguments, it runs the command and exits.
## cli configuration ## cli configuration
by default, the CLI connects to `localhost:3000` in dev and `toes.local:80` in production. by default, the CLI connects to `localhost:3000` in dev and `toes.local:80` in production.

View File

@ -112,6 +112,15 @@ for app_dir in "$DEST"/apps/*/; do
rm -rf "$APPS_DIR/$app/.git" rm -rf "$APPS_DIR/$app/.git"
done done
# ── CLI + SSH ────────────────────────────────────────────
info "Installing CLI"
quiet bun run cli:build
sudo cp dist/toes /usr/local/bin/toes
info "Setting up SSH access"
quiet sudo bash "$DEST/scripts/setup-ssh.sh"
# ── Systemd ────────────────────────────────────────────── # ── Systemd ──────────────────────────────────────────────
info "Installing toes service" info "Installing toes service"
@ -131,6 +140,7 @@ echo " ${b}${g}🐾 toes $VERSION is up!${r}"
echo " ${d}─────────────────────────────${r}" echo " ${d}─────────────────────────────${r}"
echo "" echo ""
echo " Dashboard: ${c}http://$(hostname).local${r}" echo " Dashboard: ${c}http://$(hostname).local${r}"
echo " SSH CLI: ${c}ssh cli@$(hostname).local${r}"
echo "" echo ""
echo " ${d}Grab the CLI:${r}" echo " ${d}Grab the CLI:${r}"
echo " ${c}curl -fsSL http://$(hostname).local/install | bash${r}" echo " ${c}curl -fsSL http://$(hostname).local/install | bash${r}"