OpenSource-Hub
S

Spoolman

2.4k stars·Developer Tools·SHA-256 checksum verified

Self-hosted web service to track and manage 3D printer filament spools with real-time updates.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Self-hosted filament inventory manager for 3D printers with real-time usage tracking.

Core Features

  • Track filament brands, types, and individual spool usage
  • Real-time weight updates via WebSocket during printing
  • Built-in web UI with CRUD operations and custom fields
  • Seamless integration with OctoPrint, Klipper/Moonraker, and more
  • Multiple database support: SQLite, PostgreSQL, MySQL, CockroachDB

What It Can't Do

  • Default uses SQLite; for production, switch to PostgreSQL or MySQL for better concurrency. 2. First-time setup requires manual spool addition or import from the community DB, which may be incomplete. 3. QR code labels require a label printer; otherwise, manage manually. 4. If WebSocket sync is not working, check network connectivity and plugin configuration.

Use Cases

  • Home 3D printing enthusiasts managing multiple filament types
  • 3D printing farms centralizing inventory across many printers
  • Automatically logging material usage for cost analysis and reordering

Detailed Introduction

Spoolman is a lightweight, self-hosted web service that helps 3D printing enthusiasts and makers efficiently manage their filament inventory. It serves as a centralized database for manufacturers, filament types, and individual spools, with a built-in web client for easy CRUD operations. The service integrates seamlessly with OctoPrint, Klipper/Moonraker, and other front-ends, automatically updating spool weight as prints progress via WebSocket real-time sync. It supports multiple databases (SQLite, PostgreSQL, MySQL, CockroachDB), multi-printer management, and can push monitoring data to Prometheus for historical analysis. Spoolman also includes a community-maintained filament database (SpoolmanDB) and supports QR code labels. Installation is simple via Docker or manual setup.

Troubleshooting & FAQ (1)

Troubleshooting
How to fix 'cryptography package is required' error when connecting to MySQL 8.x in Docker?

Install the cryptography package in your Python environment, or use PyMySQL[rsa]/aiomysql[rsa]. For Docker deployments, add pip install cryptography to your entrypoint or Dockerfile. The issue arises because MySQL 8.x uses caching_sha2_password by default, which requires the cryptography library. This dependency is missing in the default Spoolman setup. Once added, connections will succeed without downgrading MySQL's security.

GitHub Issue #330

Tags

3d-printingfilament-managementself-hostedinventoryoctoprintklipper

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Option 1 (recommended): Run via Docker: docker run -d --name spoolman -p 7912:7912 -v $(pwd)/data:/app/data ghcr.io/donkie/spoolman:latest

4

Option 2: Download the binary for your OS from GitHub Releases, extract, and run (requires a database setup first)

5

Access http://localhost:7912 in browser, follow the wizard to set up admin and database connection

Install Guide
  1. Option 1 (recommended): Run via Docker: docker run -d --name spoolman -p 7912:7912 -v $(pwd)/data:/app/data ghcr.io/donkie/spoolman:latest
  2. Option 2: Download the binary for your OS from GitHub Releases, extract, and run (requires a database setup first)
  3. Access http://localhost:7912 in browser, follow the wizard to set up admin and database connection
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

For Docker: docker stop spoolman && docker rm spoolman && rm -rf ./data. For manual installation: delete the extracted folder and any database files.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-06-27 14:20:24
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

1 FAQ

Similar Projects