Skip to main content

Introduction

O.D.I.N. (Orchestrated Dispatch & Inventory Network) is a self-hosted 3D print farm management platform. It connects every printer in your fleet to a single dashboard -- regardless of brand or protocol -- and gives you real-time telemetry, job scheduling, AI failure detection, inventory tracking, and order-to-ship workflow.

One Docker container. One dashboard. Every printer.

Key Capabilities

Multi-Protocol Printer Support

O.D.I.N. speaks four printer protocols natively:

ProtocolPrintersConnection
Bambu MQTTX1C, P1S, P1P, A1, A1 Mini, H2DMQTT subscription to device telemetry
Klipper / MoonrakerAny Klipper-based printerREST polling (3-second interval)
PrusaLinkPrusa MK4, MK3.9, XL, MiniHTTP polling via PrusaLink API
Elegoo SDCPSaturn, Mars, and other Elegoo printersSmart Device Communication Protocol

All protocols provide real-time status, temperature monitoring, print progress, and remote control (start, pause, resume, cancel).

Camera Streaming

WebRTC camera streaming via go2rtc with sub-second latency. Supports RTSP, USB, and IP cameras. View live feeds from the dashboard, arrange multi-camera grids, or use the dedicated TV dashboard for wall-mounted displays.

Vigil AI -- Print Failure Detection

On-device ONNX inference detects print failures in real time:

  • Spaghetti detection -- filament extruding into air
  • Detachment -- print separating from the bed
  • First-layer issues -- poor adhesion or warping
  • Build plate detection -- verify plate readiness before prints

Failures trigger configurable actions: auto-pause the printer, send push notifications, fire webhooks, or alert via Discord/Slack/Telegram.

Job Scheduling

Queue jobs across your fleet with intelligent scheduling:

  • Color-match scoring -- automatically assigns jobs to printers with the right filament loaded
  • Time slot allocation -- schedule jobs around blackout hours and quiet periods
  • Load balancing -- distribute work evenly across available printers
  • Approval workflows -- optional job approval before printing starts

Order-to-Ship Workflow

Manage the full lifecycle from order to shipment:

  • Products with bill-of-materials (BOM) linking models to required prints
  • Orders with line items, status tracking, and scheduling
  • Invoicing with PDF generation
  • Consumables inventory with low-stock alerts

Spool & Filament Inventory

Track every spool in your fleet:

  • Weight tracking with manual or scale-based updates
  • QR code labels for scan-to-assign workflows
  • Drying session logging
  • Spoolman integration for existing inventories
  • Automatic AMS sync for Bambu printers

Enterprise Security

  • RBAC -- admin, operator, and viewer roles with granular per-endpoint permissions
  • MFA -- TOTP-based multi-factor authentication
  • OIDC SSO -- integrate with Google, Okta, Authentik, or any OIDC provider
  • Audit logs -- full request logging with export
  • Session management -- view and revoke active sessions
  • API tokens -- scoped tokens for automation
  • IP allowlisting -- restrict access by source IP

System Requirements

RequirementMinimum
Docker Engine20.10+
Docker Composev2+
RAM2 GB (typical runtime ~256 MB)
Disk10 GB
Architectureamd64 or arm64

O.D.I.N. runs as a single Docker container with 7 supervised processes. There are no external dependencies -- no Redis, no PostgreSQL, no message broker. SQLite in WAL mode handles all persistence.

Stack

  • Backend: Python 3.11, FastAPI
  • Frontend: React 18, Vite, TailwindCSS
  • Database: SQLite (WAL mode)
  • Streaming: go2rtc (WebRTC / HLS)
  • AI: ONNX Runtime for inference
  • Deployment: Docker with supervisord

License

O.D.I.N. is licensed under the Business Source License 1.1 (BSL 1.1). The license converts to Apache 2.0 on February 7, 2029. You can self-host and use it freely; the BSL restriction only prevents offering O.D.I.N. as a hosted service to third parties.

Next Steps