The Ultimate Inventory Management System for Makers. Organize your electronic components and find them instantly with WLED.
Check out the official WLEDger documentation site here
WLEDger (WLED + Ledger) is a modern, high-performance inventory system designed specifically for electronics hobbyists, makers, and labs. It solves the problem of "I know I have this part, but where is it?" by integrating with WLED controllers.
When you search for a component, WLEDger doesn't just tell you "Bin A1" — it lights up the specific bin on your storage rack.
Why I Made WLEDger
I have hundreds of electronic components in my lab. I couldn't remember what parts I had or where they were stored, leading to over-buying and under-utilizing. I wanted a system that solved these problems and got me back to doing what I love: making!Existing tools were expensive, closed source or lacking in features/WLED integration. WLEDger bridges these gaps, providing a purpose-built, open source inventory manager that's simple to use and feature rich.
Connect your WLED-powered LED strips or matrices to your storage.
- Visual Locate: Click "Locate" on a part, and its bin glows instantly.
- Grid Painter: Use the visual Grid Painter tool to easily map LEDs to bins using Matrix, Strip, or Compound layouts.
- Walls / Dashboards: Organize your containers and controllers into customizable "Walls" for a clean, organized dashboard view.
- Stock Status Colors: Configure different colors for "Locate", "In Stock", "Low Stock", and "Critical".
- Fast Search: Instant results using SQLite FTS5 (Full-Text Search).
- Barcode Scanning: Built-in support for scanning parts via your phone's camera.
- Rich Data: Store datasheets (PDFs), images, supplier links, and cost data.
- Tagging: Organize parts with flexible tagging.
Don't let your parts gather dust. Copy the prompt. paste it into your favorite LLM, and get inspired or informed about your inventory.
WLEDger comes with some great default prompts to get you started.
- Project Ideas: High quality project ideas to inpsire you to build with your current inventory.
- Integration Guides: Quick guidance on how to use your parts in a real circuit.
- Learning Paths: Curriculum based on the hardware you own to learn new skills.
- Role-Based Access Control: Admin, Editor, viewer, and (optional) Guest roles.
- Audit Logging: Track every change, stock adjustment, and deletion.
- Responsive Design: Designed with desktop and mobile in mind.
Flexibility in how you manage your parts, and the data you create in WLEDger.
- Bulk Import: Import all your parts at once! No UI clickin' required.
- Backup: Easily backup all your data. Exports include all your images, docs, and part info in a human-readable format.
- Restore: Restore your database from a backup in a single click.
WLEDger supports multiple languages:
- English
- German (Deutsch)
- Spanish (Español)
- French (Français)
- Italian (Italiano)
- Portuguese (Português - Brasil)
- Russian (Русский)
- Simplified Chinese (简体中文)
Non-English translations are auto-generated and may contain inaccuracies. If you notice any translation errors or have suggestions for improvements, please file an issue on GitHub.
WLEDger V2 has been written for performance, type safety, and extensibility.
- Backend: Go (1.25+) - Fast, compiled, and robust.
- Database: SQLite +
sqlc+goose- Zero-config, reliable storage with type-safe queries and versioned migrations. - Frontend: Templ + HTMX - Server-side rendering with SPA-like interactivity.
- Interactivity: Alpine.js - Lightweight JavaScript for UI state.
- Styling: Tailwind CSS v4 + DaisyUI v5.
- Hardware: WLED - The gold standard for controlling LEDs.
The easiest way to run WLEDger is via Docker.
-
Create a directory for your WLEDger data:
mkdir wledger && cd wledger && mkdir data uploads logs -
Inside this folder, create a file named
docker-compose.yamlwith the following contents:
services:
wledger:
# Format: user/repository:tag
image: tuxedomakes/wledger:latest
# A custom name for the container instance.
container_name: wledger
ports:
# Maps ports in the format "HOST:CONTAINER"
- "8080:8080"
volumes:
# Maps files in the format "HOST_PATH:CONTAINER_PATH"
- ./data:/wledger/data
- ./uploads:/wledger/app/uploads
- ./logs:/wledger/app/logs
# Restart policy
restart: unless-stopped- Run the following command to start the container:
docker compose up -dVisit http://localhost:8080 to see the WLEDger UI.
Tip: Save the website as a shortcut on Android or iOS for quick access!
Prerequisites:
- Go: Version 1.25+
- Node.js: Version 23+ (for running
npm) - Make: A
makecompatible command line tool.
Before running
make generateormake devbe sure that Go is installed and in your system path, or the commands will not work.
How to add Go to your system path
Add the path to your .bashrc (or .bash_profile on macOS):
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrcAdd the path to your .zshrc:
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.zshrc
source ~/.zshrcRun the following command once (this persists automatically):
fish_add_path /usr/local/go/bin $HOME/go/binThese tools are provided for convenience to install dependencies, generate code, and run the dev server.
# 1. Clone the repository
git clone https://github.com/tuxedocurly/wledger.git
cd wledger
# 2. Install dependencies
# This will install the required Go tools and npm packages.
make install_dependencies
# 3. auto-gen code to ensure it's up to date
make generate
# 4. Run the application
make devOnce you've verified things are working on the dev server, run
make buildto generate the binary, then run it.
WLEDger uses Templ for live reloading on localhost:7331 and make for task orchestration.
Example (run dev server):
make devReview the Makefile for a list of available commands.
This will start:
- Go server (with Templ watcher)
- Templ + Go change watcher
- Tailwind CSS watcher
| Dashboard | Inventory |
|---|---|
| Part Details | Settings |
|---|---|
Contributions are welcome!
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes.
- Open a Pull Request.
WLEDger is released under AGPL-3.0-only - see the LICENSE file for details.