Spoolman
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)
TroubleshootingHow 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.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Option 1 (recommended): Run via Docker: docker run -d --name spoolman -p 7912:7912 -v $(pwd)/data:/app/data ghcr.io/donkie/spoolman:latest
Option 2: Download the binary for your OS from GitHub Releases, extract, and run (requires a database setup first)
Access http://localhost:7912 in browser, follow the wizard to set up admin and database connection
- Option 1 (recommended): Run via Docker: docker run -d --name spoolman -p 7912:7912 -v $(pwd)/data:/app/data ghcr.io/donkie/spoolman:latest
- Option 2: Download the binary for your OS from GitHub Releases, extract, and run (requires a database setup first)
- Access http://localhost:7912 in browser, follow the wizard to set up admin and database connection
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 SourceUninstall 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.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
code-server
Run VS Code in your browser, on any device with a consistent development environment.
pocketbase
PocketBase is an open source Go backend that includes embedded SQLite with realtime subscriptions, built-in file & user management, admin dashboard UI, and simple REST API. Can be used as standalone app or Go framework.
Visual Studio Code (Code - OSS)
A free, open-source code editor by Microsoft with rich extensions, debugging, and Git integration. The most popular developer tool worldwide.