DumbAssets: The Stupid Simple Way to Track Your Stuff

Letโ€™s be honest โ€” most asset management tools are overkill for what you really need. If you’re like me and just want a dead-simple way to keep track of physical assets, receipts, warranties, and routine maintenance, DumbAssets might be exactly what you’ve been looking for.

Itโ€™s called DumbAssets for a reason: it’s purposely simple, delightfully dumb, and just works.


๐Ÿš€ What Is DumbAssets?

DumbAssets is a lightweight, self-hosted asset tracker that helps you stay on top of:

  • Your physical assets (computers, equipment, tools, whatever)
  • Their components and sub-components
  • Warranty periods and expiration alerts
  • Maintenance schedules
  • Receipts and photos โ€” all neatly organized

No cloud dependencies, no account signups, no nonsense.


๐Ÿ› ๏ธ Getting Started (Itโ€™s Stupid Easy)

Youโ€™ve got a few options depending on how much you like typing commands.

๐Ÿณ Option 1: Docker (For Dummies)

If youโ€™ve got Docker installed, this is all you need:

docker run -p 3000:3000 -v ./data:/app/data dumbwareio/dumbassets:latest

Then open http://localhost:3000 in your browser, and youโ€™re off. Start adding assets, upload your receipts, and set those maintenance reminders. Thatโ€™s it. Seriously.

โš™๏ธ Option 2: Docker Compose (For Dummies Who Like Customizing)

Want more control over your setup? Create a docker-compose.yml like this:

services:
  dumbassets:
    container_name: dumbassets
    image: dumbwareio/dumbassets:latest
    restart: unless-stopped
    ports: 
      - ${DUMBASSETS_PORT:-3000}:3000
    volumes:
      - ${DUMBASSETS_DATA_PATH:-./data}:/app/data
    environment:
      NODE_ENV: ${DUMBASSETS_NODE_ENV:-production}
      DEBUG: ${DUMBASSETS_DEBUG:-true}
      SITE_TITLE: ${DUMBASSETS_SITE_TITLE:-DumbAssets}
      BASE_URL: ${DUMBASSETS_BASE_URL:-http://localhost:3000}
      DUMBASSETS_PIN: ${DUMBASSETS_PIN:-1234}
      ALLOWED_ORIGINS: ${DUMBASSETS_ALLOWED_ORIGINS:-*}
      APPRISE_URL: ${DUMBASSETS_APPRISE_URL:-}

Then run:

docker compose up -d

Visit http://localhost:3000, and go from there.

๐Ÿ‘จโ€๐Ÿ’ป Option 3: Run It Locally (For Developers)

Prefer to poke around the code? No problem:

git clone https://github.com/yourusername/DumbAssets.git
cd DumbAssets
npm install
npm start

Head to http://localhost:3000 and you’re in.


โœจ Why Use DumbAssets?

Hereโ€™s a quick look at whatโ€™s built-in:

  • Track assets with serial numbers, models, purchase dates, and more
  • Organize components and sub-components in a hierarchy
  • Upload photos and receipts (stored locally)
  • Search everything easily โ€” by name, model, serial, or description
  • Get notified before warranties expire or maintenance is due
  • Add tags for smarter sorting
  • Light/Dark mode with your preference saved
  • Apprise integration (for Discord, Telegram, ntfy, etc.)
  • PIN authentication with brute-force protection
  • Runs beautifully in Docker โ€” or bare metal if you prefer

๐Ÿ”ง Configuration Basics

DumbAssets is configured using environment variables. Here are a few you might tweak:

VariableDescriptionDefault
PORTServer port3000
DUMBASSETS_PINOptional PIN login1234
BASE_URLThe base URL of your instancehttp://localhost:3000
APPRISE_URLFor pushing notifications(optional)
SITE_TITLEApp name shown in the UIDumbAssets
ALLOWED_ORIGINSWho can access your instance*
DEMO_MODEEnables read-only public modefalse

And everything lives in simple JSON files under /data:

  • Assets.json โ€” your core asset data
  • SubAssets.json โ€” all components and relationships
  • Images/ โ€” uploaded photos
  • Receipts/ โ€” uploaded files
  • config.json โ€” notification and system config

๐Ÿ” Security Features That Matter

  • PIN authentication (any 4+ digit code)
  • Constant-time comparison to prevent timing attacks
  • Lockout after too many failed attempts
  • No PIN stored in the browser
  • Secure cookies and session handling
  • Rate limiting built in

๐Ÿ” Under the Hood

Hereโ€™s a peek at the stack:

  • Backend: Node.js + Express
  • Frontend: Vanilla JS (ES6+)
  • Container: Docker + Alpine
  • Uploads: Handled via Multer
  • Scheduling: node-cron for sending alerts

And some notable dependencies:

  • express, cors, multer, uuid, dotenv, sharp, helmet, express-rate-limit, fs-extra, and more.

๐Ÿค Want to Contribute?

Pull requests are welcome! Hereโ€™s the quick rundown:

  1. Fork the repo
  2. Create a branch: git checkout -b feature/cool-idea
  3. Commit using Conventional Commits
  4. Push and open a PR

Check the Development Guide in the repo for more info.


Final Thoughts

DumbAssets is perfect for anyone who just wants a clean, local-first, no-fuss asset tracker. Whether you’re a tech-savvy DIYer or an IT person managing office equipment, it saves time and stays out of your way.

So go ahead โ€” spin it up, add your stuff, and enjoy how dumb easy it really is.

Visit https://github.com/DumbWareio/DumbAssets

Post Comment

You May Have Missed