v0 — in developmentOpen sourceMIT licensedSelf-hosted

Stowage is an open-source, self-hosted asset management system. Track physical inventory with the structure, metadata, and labels your team actually needs.

stowage

01 — Overview

What ends up in a cupboard should still be findable.

Spreadsheets break down the moment a second person joins. Off-the-shelf asset trackers want a subscription and a server somewhere you don't control. Stowage is the small-team alternative — a single, self-hosted app for tracking the physical things your team owns.

Every asset lives somewhere in a tree of locations and belongs to a category with its own custom fields. Attach files, schedule service, and print real barcode labels from the browser. That's the whole product, and it's yours to run.

LicenseMIT
LanguageTypeScript
DatabasePocketBase
DeploySelf-hosted
02 — Capabilities

Everything a small team needs to find, track, and maintain its stuff.

Custom Categories

Organise assets by whatever taxonomy fits your team. Nest categories as deeply as you need.

Hierarchical Locations

Model the real world. Buildings hold rooms, rooms hold shelves, shelves hold bins — and bins hold things.

Configurable Fields

Attach custom metadata to any category. Serial numbers, warranty dates, specs — your schema, your rules.

Service Scheduling

Track maintenance intervals and upcoming service dates so nothing falls through the cracks.

File Attachments

Link receipts, manuals, photos, and PDFs to any asset. Everything in one place, backed by your storage.

Printable Labels

Generate barcodes and data matrix codes with bwip-js. Print directly from the browser via CSS @media print.
03 — Built with

A modern, boring stack.

Familiar tools, wired together for realtime UX and honest typechecking. Nothing exotic to on-board into.

  • Next.js 16
  • React 19
  • Tailwind CSS 4
  • shadcn/ui
  • PocketBase
  • SQLite
  • bwip-js
  • TypeScript
04 — Run it

Clone. Install. Dev.

Node 20+, pnpm, and bash + curl required. pnpm pb:setup downloads the PocketBase binary into ./bin, then open /setup to create the first admin.

terminal — zsh
git clone https://github.com/kroqdotdev/stowage.git
cd stowage
pnpm install
pnpm pb:setup
# set POCKETBASE_SUPERUSER_EMAIL + _PASSWORD
cp .env.example .env.local
pnpm dev