Self-hosted server for Obico, an open-source smart 3D printing platform with AI failure detection for OctoPrint and Klipper printers.
Donkie/Spoolman
A self-hosted web service for tracking 3D-printer filament spools, their weights and usage, integrated with OctoPrint and Klipper/Moonraker.
- Stars
- 2,989
- Forks
- 320
- Open issues
- 171
- Last commit
- 3 days ago
What is it?
Spoolman is a self-hosted web service for keeping an inventory of 3D-printer filament spools and monitoring how much filament is used. It works as a central database that connects to printing software such as OctoPrint and Klipper with Moonraker. When a print runs, the connected printer updates the spool weight automatically.
The project includes a built-in web client for creating, editing and deleting filament types, manufacturers and individual spools. Inventory can be searched, grouped and filtered by fields such as manufacturer, material and location, and custom fields can be added. It also has a label designer that produces QR-code labels for spool identification. A REST API and WebSocket updates allow other software to read and change data, and the database can be SQLite, PostgreSQL, MySQL or CockroachDB.
Spoolman is designed to handle updates from several printers at once. Prometheus integration provides historical usage data. Filament data can be pulled from the community-maintained SpoolmanDB.
Key features
- 01Track filament types, manufacturers and individual spools with weights
- 02Automatic spool weight updates from OctoPrint and Klipper/Moonraker during prints
- 03Built-in web client with search, grouping, filtering and custom fields
- 04Label designer that prints QR-code spool labels
- 05REST API and WebSocket updates for integration with other software
- 06Supports SQLite, PostgreSQL, MySQL and CockroachDB
Use cases
- Tracking filament usage across several 3D printers in a workshop or makerspace
- Knowing how much filament remains on each spool before starting a print
- Labeling spools with QR codes so they can be identified and scanned quickly
- Feeding filament data into Home Assistant or other automation tools
Quick start
- 1
Follow the Installation page on the Wiki
Things to know
- The main developer maintains it in their spare time.
- The new web client may misbehave on some setups; the legacy client can be selected with SPOOLMAN_LEGACY_CLIENT=TRUE.
In collections
Topics
FAQ
- What is Spoolman?
- A self-hosted web service for tracking 3D-printer filament spools, their weights and usage, integrated with OctoPrint and Klipper/Moonraker. Spoolman is a self-hosted web service for keeping an inventory of 3D-printer filament spools and monitoring how much filament is used. It works as a central database that connects to printing software such as OctoPrint and Klipper with Moonraker. When a print runs, the connected printer updates the spool weight automatically.
- Is Spoolman free to use? What license does it have?
- Spoolman is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Spoolman still maintained?
- Actively maintained. The last commit to Spoolman was on Nov 4, 2026.
- What can I use Spoolman for?
- Tracking filament usage across several 3D printers in a workshop or makerspace Knowing how much filament remains on each spool before starting a print Labeling spools with QR codes so they can be identified and scanned quickly Feeding filament data into Home Assistant or other automation tools
- How do I install Spoolman?
- Follow the Installation page on the Wiki
- Where can I get Spoolman?
- The source code and installation instructions are on GitHub: https://github.com/Donkie/Spoolman
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A web interface for controlling consumer 3D printers, letting you run and monitor prints from a browser.
Open-source slicer that turns 3D models into G-code for Bambu Lab, Prusa, Creality, Voron and other FDM printers.
A responsive web interface for monitoring and controlling Klipper-based 3D printers, built on the Moonraker API.
A free, open-source web interface for Klipper that lets you manage and monitor your 3D printer from a browser.
Self-hosted API server for managing a home bar, built specifically around cocktail recipes, ingredients and inventory.