Go to file
Chris Wanstrath 33d91747af Combine ANSI style codes into a single span element
Multiple SGR parameters in one escape sequence (e.g. bold + color)
were each opening a new span, losing earlier styles. Collect styles
per sequence and emit one span with all of them.
2026-03-18 10:59:07 -07:00
apps Remove package.json requirement, auto-deploy bare repos 2026-03-12 14:45:57 -07:00
bin start adding cli 2026-01-28 22:36:23 -08:00
docs update docs 2026-03-01 14:38:24 -08:00
install Add SSH CLI access and update install docs 2026-03-16 16:35:19 -07:00
scripts Add .hushlogin creation to setup-ssh script 2026-03-17 17:46:32 -07:00
src Combine ANSI style codes into a single span element 2026-03-18 10:59:07 -07:00
templates upgrade hype in templates 2026-03-05 07:44:07 -08:00
.gitignore Add template embedding and generation script 2026-03-02 21:35:13 -08:00
.npmrc use npm.nose.space 2026-01-29 14:27:45 -08:00
bun.lock Replace kleur with ansis for CLI colors 2026-03-09 18:39:14 -07:00
CLAUDE.md Replace kleur with ansis for CLI colors 2026-03-09 18:39:14 -07:00
package.json Merge branch 'switch-kleur-ansis' 2026-03-17 21:35:47 -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.