3DPrinterOS

Best Self Hosted Alternatives to 3DPrinterOS

A curated collection of the 2 best self hosted alternatives to 3DPrinterOS.

Cloud service for managing and monitoring 3D printers and print jobs. Provides remote printing and slicing, printer fleet management, user and access controls, job queuing and analytics for schools, labs, and enterprises.

Alternatives List

#1
CNCjs

CNCjs

Web UI server for sending and monitoring G-code on CNC controllers (Grbl, Marlin, Smoothieware, TinyG/g2core) over serial connections.

CNCjs screenshot

CNCjs is a web-based user interface and server for controlling CNC machines by streaming G-code to common firmware such as Grbl, Marlin, Smoothieware, and TinyG/g2core. It runs on a computer like a Raspberry Pi or laptop and connects to the controller over a serial link (USB, Bluetooth serial, or serial-to-WiFi).

Key Features

  • Supports multiple CNC firmware targets including Grbl/Grbl-Mega, Marlin, Smoothieware, TinyG, and g2core
  • G-code sender with real-time status, console, and 6-axis digital readout (DRO)
  • Toolpath visualization with 3D preview
  • Multi-client access to the same machine session (multiple HTTP connections)
  • Responsive interface suitable for tablets and small touch displays
  • Extensible UI with customizable workspace, widgets, and “pendant” remote-control UIs
  • Watch-directory workflow to automatically detect and load new files
  • Macros, command buttons, events, and features like Z-probe and tool-change workflows

Use Cases

  • Running a CNC router or mill from a Raspberry Pi connected via USB serial
  • Setting up a shop-floor touchscreen “pendant” interface for jogging and job control
  • Managing CNC job preparation with file drop/watch-directory and repeatable macros

CNCjs is a practical choice when you want a browser-based control panel for hobbyist and prosumer CNC controllers, with visualization, extensibility, and multi-device access built in.

2.5kstars
605forks
#2
Spoolman

Spoolman

Self-hosted web application to track and manage 3D-printing filament spools with a REST API, WebSocket updates, label/QR printing and integrations for common printer frontends.

Spoolman screenshot

Spoolman is a web service for tracking and managing physical 3D-printer filament spools. It provides a central database for filaments, vendors and individual spools, offers a web client for manual management and exposes a REST API and WebSocket updates for integrations and automation.

Key Features

  • Filament and spool inventory: store manufacturers, filament types, spool metadata and custom fields for precise tracking.
  • REST API: a documented HTTP API to read and modify application data for automation or third-party integrations.
  • Real-time updates: WebSocket notifications and live spool-weight updates during prints for immediate feedback.
  • Integrations: designed to integrate with popular 3D printing frontends and ecosystems for automatic weight tracking and multi-printer support.
  • Label and QR generation: print labels with QR codes for easy spool identification and scanning workflows.
  • Multi-database support: works with SQLite, PostgreSQL, MySQL (and compatible engines) for flexible deployment options.
  • Monitoring support: integrates with Prometheus to export metrics for historical analysis and alerting.

Use Cases

  • Centralized filament inventory for makerspaces or multi-printer setups to prevent runouts and track stock.
  • Automated workflows where printer frontends update spool weights in real time and other systems consume that data via the REST API.
  • Production or hobbyist monitoring where Prometheus collects usage metrics for capacity planning and reporting.

Limitations and Considerations

  • Ecosystem coverage: first-class support is centered on the Klipper/Moonraker ecosystem; support for other ecosystems (for example OctoPrint) may be incomplete or rely on third-party plugins.
  • HTTPS requirement for some browser features: browser security constraints (e.g., QR code behaviors) require serving the web client over HTTPS; a reverse proxy may be needed to enable secure access.
  • Runtime requirements: the backend targets modern Python tooling and the frontend expects Node.js 20+ for development; deployment workflows use Docker for convenience.

Spoolman is intended as a focused tool for filament inventory and usage tracking. It combines a programmable API, live updates and monitoring hooks to fit into automated 3D-printing workflows while providing a user-facing web client for administration and label printing.

2.1kstars
197forks

Why choose an open source alternative?

  • Data ownership: Keep your data on your own servers
  • No vendor lock-in: Freedom to switch or modify at any time
  • Cost savings: Reduce or eliminate subscription fees
  • Transparency: Audit the code and know exactly what's running