EZ Inventory is a mobile-first, open-source inventory system with QR workflows.
This README is written for admins who want to run EZ Inventory with Docker.
Requirements:
- Docker Engine + Docker Compose plugin
Start locally:
git clone https://github.com/tobiaswaelde/ezinventory.git
cd ezinventory
cp .env.example .env
docker compose up -d --buildOpen the app:
- App:
http://localhost:3000 - API health:
http://localhost:3001/api/v1/health - API docs (Scalar):
http://localhost:3001/api/docs
Stop services:
docker compose down- Open
http://localhost:3000. - Create your first account at
/auth/signup. - Go to
Settingsand switchRegistration ModetoADMIN_ONLYfor production. - Create additional users in
Settings>Create User (Admin). - Register your passkey in
Settings>Profile Security.
Dashboard: quick links to scanning, inventory structure, and label printingInventory: create locations and nested containersScan: scan/lookup item codes and run quick stock actionsLabels: generate QR + barcode labels and print A4 sheetsSettings: admin controls (registration mode, users, permissions, passkeys)
Full feature docs with screenshots:
Main variables used in Docker setup:
DATABASE_URL: PostgreSQL connection stringCORS_ORIGIN: CORS allowed origin(s),*for local devNUXT_PUBLIC_API_BASE_URL: app -> API URLAUTH_ACCESS_TOKEN_SECRET: JWT access secretAUTH_REFRESH_TOKEN_SECRET: JWT refresh secretAUTH_PASSKEY_RP_ID: passkey relying party idAUTH_PASSKEY_ORIGIN: passkey origin URL
Templates:
- Root:
.env.example - API:
apps/api/.env.example - Deployment:
.env.deploy.example
- Docs landing page:
docs/index.md - Admin quickstart:
docs/admin-quickstart.md - Feature tour with screenshots:
docs/admin-feature-tour.md - Operations runbook:
docs/operations.md - Architecture reference:
docs/architecture.md
Run docs locally:
pnpm install
pnpm docs:devRebuild and restart after updates:
git pull
docker compose up -d --buildView logs:
docker compose logs -f api
docker compose logs -f appRun screenshot generator for docs:
pnpm docs:screenshotsapps/api- NestJS APIapps/app- Nuxt app (PWA)packages/contracts- generated OpenAPI contractsdocs- VitePress documentation
- Contributing:
CONTRIBUTING.md - Security policy:
SECURITY.md - License:
LICENSE