SAFE HOUSE.
Pull TOOLSHED off the grid and onto your own box. One script, two flavors — Docker for the clean getaway, or bare-metal bun if you like to feel the pavement. Same tools. Same attitude. Now with your hostname on the door.
GRAB THE KEYS
First, you need the source. Clone it down, walk through the front door, and let the installer do the rest.
git clone https://github.com/criticalconnections/toolshed.git toolshed
cd toolshedDOCKER ROUTE
The professional move. Builds an image, runs the container in the background on port 8665, auto-restarts unless you say otherwise. No fingerprints on your host system.
./install.sh dockerThen point a browser at http://localhost:8665 and you're in business.
BARE METAL
No containers, no middleman. The script checks for bun, offers to install it if it's missing, drops dependencies, and boots the dev server straight on your machine.
./install.sh self-hostedCtrl-C kills it. No daemons, no cron, no leftovers.
PICK YOUR DOOR
Default port is 8665. If that's already taken — or you just like a different number — set TOOLSHED_PORT before running.
TOOLSHED_PORT=4040 ./install.sh dockerOr run with no arguments to get an interactive picker that prompts for mode and port.
./install.shCLEAN GETAWAY
When you're done, leave nothing behind. This stops and removes the container in one shot.
./install.sh stopFor self-hosted runs, just hit Ctrl-C in the terminal where it's running. That's the whole exit strategy.
THE SMALL PRINT
- ▸ Bundle is a Cloudflare Workers build —
bun run buildif you want to deploy to Workers. - ▸ Self-hosted mode runs the Vite dev server (Workers runtime emulated). Fine for personal use.
- ▸ Everything still happens in the user's browser — the server only ships HTML, CSS, and JS.
- ▸ Need Docker? Get it at docker.com. Need bun? See bun.sh.