Repolode
Donkie

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. 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