Go to file
2026-05-11 14:46:55 -07:00
apps Bump @because/toes to 0.0.18 2026-04-04 15:57:00 -07:00
bin start adding cli 2026-01-28 22:36:23 -08:00
docs Update appUrl import path to @because/toes/tools 2026-04-04 15:05:04 -07:00
install Remove old CLI binary before install 2026-03-27 15:02:45 -07:00
scripts Add .hushlogin creation to setup-ssh script 2026-03-17 17:46:32 -07:00
src Add app publish/unpublish lifecycle hooks 2026-05-11 14:46:55 -07:00
templates upgrade hype in templates 2026-03-05 07:44:07 -08:00
.gitignore Add .rev/ to gitignore 2026-05-11 14:15:29 -07:00
.npmrc use npm.nose.space 2026-01-29 14:27:45 -08:00
bun.lock Bump @because/toes to 0.0.15 2026-03-27 11:45:05 -07:00
CLAUDE.md Add static site support to apps 2026-05-11 14:37:12 -07:00
package.json 0.0.19 2026-04-04 19:36:32 -07:00
README.md Add SSH CLI access and update install docs 2026-03-16 16:35:19 -07:00
tsconfig.json [cron] reload jobs on renames/deploys 2026-02-15 08:44:48 -08:00

🐾 Toes

Toes is a personal web appliance you run on your home network.

Plug it in, turn it on, and forget about the cloud.

setup

Toes runs on a Raspberry Pi. You'll need:

  • A Raspberry Pi 5 running the latest Raspberry Pi OS
  • A toes user with passwordless sudo

SSH into your Pi as the toes user and run:

curl -fsSL https://toes.dev/install | bash

This will:

  1. Install system dependencies (git, fish shell, networking tools)
  2. Install Bun and grant it network binding capabilities
  3. Clone and build the toes server
  4. Set up bundled apps and tools (clock, code, cron, env, stats)
  5. Install and enable a systemd service for auto-start

Once complete, visit http://<hostname>.local on your local network.

features

  • Effortlessly hosts bun/hype webapps - both SSR and SPA.
  • git push, Heroku-style deploys
  • https://toes.local web UI 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.

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

by default, the CLI connects to localhost:3000 in dev and toes.local:80 in production.

toes config                                  # show current host
TOES_URL=http://192.168.1.50:3000 toes list  # connect to IP
TOES_URL=http://mypi.local toes list         # connect to hostname

fun stuff

  • textOS (TODO, more?)
  • Claude that knows about all your toes APIS and your projects.
  • non-webapps

february goal

  • Corey and Chris are running Toes servers on their home networks, hosting personal projects and games.