FDM Monster Documentation

website·Indexed 31 days ago

https://docs.fdm-monster.net

A web application for managing 3D printing farms, capable of connecting to over 100 OctoPrint instances. Documentation covers installation via Docker Compose, curl, and MonsterPi, as well as Moonraker support (added in v1.7.0), API key management (v2.1.0+), and printer organization using floors.

Tokens
12.2K
Snippets
52
Records
125
Agent score
56%

What's inside FDM Monster

  1. Overview of FDM Monster API Key Features

    FDM Monster (version 2.1.0 and later) supports user-managed API keys for programmatic server access. These keys allow authentication without session cookies, making them suitable for scripts and third-party integrations. Key characteristics include:

    • Format: Tokens follow the fdmm_api_<43 chars base64url> format with SHA-256 verification.
    • Permissions: Keys are user-bound and inherit the permissions of the user who created them.
    • Auditability: Usage is tracked via lastUsedAt timestamps.
    • Revocation: Access can be revoked by deleting the key.
  2. Overview of FDM Monster

    FDM Monster is an open-source 3D print farm management tool designed to monitor and control multiple printers from a single dashboard. It provides centralized management for printers using OctoPrint, Moonraker (Klipper), PrusaLink, and Bambu Lab (WIP) firmwares.
  3. Explore new features in FDM Monster v2.0.0

    Version 2.0.0 of FDM Monster introduces the following capabilities for 3D print farm management:

    • Print Queue System: Ability to manage and schedule multiple print jobs.
    • File Analysis: Advanced gcode analysis and metadata extraction.
    • Slicer Integration: Direct upload of files from slicer software.
    • Interactive API Docs: Built-in Swagger/OpenAPI documentation for API exploration.
    • Redesigned UI: A complete interface overhaul powered by fdm-monster-client-next v2.0.0.
  4. Prerequisites for adding OctoPrint printers to FDM Monster

    To add a printer to FDM Monster, you must have:

    1. A running instance of FDM Monster.
    2. A running OctoPrint instance (e.g., installed via OctoPi on a Raspberry Pi 3/4).
    3. At least one printer attached to the OctoPrint instance via USB.
    4. The OctoPrint setup wizard completed.
    5. Network reachability between the FDM Monster machine and the OctoPrint instance (via static IP, FQDN, reverse proxy like NGINX/HAProxy, VPN, or SSH tunnel).
  5. Klipper integration in FDM Monster 1.7.0

    FDM Monster version 1.7.0 introduces support for Klipper. During development, it was determined that Moonraker does not require an API key by default, and the FDM Monster code has been updated to reflect this behavior.
  6. FDM Monster v2.0.0 Major Changes and Breaking Updates

    FDM Monster version 2.0.0 introduces a major architecture shift and UI redesign. Key breaking changes and new features include:

    • Database Migration: MongoDB support has been removed; the system now uses SQLite exclusively for simplified setup.
    • API Update: A new API version is available with a different endpoint structure located at /api/v2.
    • UI Overhaul: A completely redesigned user interface implemented via fdm-monster-client-next v2.0.0.
    • New Capabilities:
      • Print Queue System for scheduling and managing multiple jobs.
      • Advanced gcode file analysis and metadata extraction.
      • Built-in interactive API documentation via Swagger/OpenAPI.
      • Direct file upload integration from slicer software.
  7. Troubleshoot and report problems in FDM Monster

    When encountering issues with FDM Monster, users can utilize diagnostic tools including log dumps, Sentry diagnostic pages, and Prometheus metrics for monitoring. Bug reporting and community support are available via the Community support page.
  8. Hardware and software requirements for FDM Monster development

    To develop for FDM Monster, it is recommended to use a Windows or Linux machine with a modern CPU and at least 8GB of memory.

    Platform compatibility:

    • Node.js server and Vue client: Any platform supporting Node.js.
    • Server: Raspberry Pi, Windows, Linux, or Mac.
    • Client: Any platform supporting a modern web browser.
  9. FDM Monster v2.0.0 Major Changes and Architecture

    FDM Monster version 2.0.0 introduces a completely redesigned UI (fdm-monster-client-next v2.0.0) and a streamlined architecture. Key breaking changes and new capabilities include the removal of MongoDB in favor of SQLite only for simplified maintenance, a new API endpoint structure located at /api/v2, and the addition of built-in interactive API documentation via Swagger/OpenAPI. New functional features include a Print Queue System for scheduling multiple jobs, advanced gcode file analysis for metadata extraction, and direct upload integration from slicer software.
  10. Install FDM Monster on Linux via curl

    FDM Monster can be installed on Ubuntu, Debian, and Raspberry Pi OS using a one-click installer. The installer automatically detects platform architecture, installs Node.js 24+ (if missing), sets up Yarn via corepack, installs the @fdm-monster/server package, and configures a systemd service.

    System Requirements:

    • OS: Ubuntu, Debian, Fedora, CentOS, Arch, or similar.
    • RAM: 512MB minimum (2GB+ recommended).
    • Storage: 500MB - 1GB free space.
    • Architecture: x86_64 (amd64), ARM64, or ARMv7 (Compatible with Pi 3B+, Pi 4, and Pi 5).

    After installation, the server is accessible at http://localhost:4000.

    curl -fsSL https://raw.githubusercontent.com/fdm-monster/fdm-monster-scripts/main/install/linux/install.sh | bash