selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

fdm-monster logo

Self-host fdm-monster

2.1.1

3D printer farm management platform

ReleaseOpen SourceAGPL-3.0
Docker ComposeCompose file & guide
docker-compose up -d
Updated4 months ago
LanguageTypescript
Setup difficultyModerate
Stars
195
CPU
modern CPU
RAM
512MB minimum (2GB+ recommended)
Storage
500MB - 1GB free space
Port
4000 (HTTP web interface)
Docker
fdmmonster/fdm-monster
FDM Monster main grid view showing printer dashboardFDM Monster server running screenshot

What is fdm-monster?

FDM Monster is a self-hosted platform for managing 3D printer farms. It provides a central dashboard to monitor and control multiple printers running OctoPrint, Klipper (via Moonraker), PrusaLink, or Bambu Lab. Key capabilities include real-time status with webcam feeds, drag-and-drop print queue management, batch printing to several printers at once, organizing printers on customizable floor grids, marking printers for maintenance, importing from OctoFarm, YAML configuration backup, and GCode thumbnail previews. The software uses SQLite for storage and runs on Linux, Docker, or a dedicated Raspberry Pi image called MonsterPi.

Should you self-host fdm-monster?

fdm-monster scores 51/100 on selfhost.directory (how scoring works) and ranks #12 of 22 in 3D Printing. It has 195 GitHub stars.

It shipped 10 stable releases in the past year. The latest, 2.1.1, came out on 14 May 2026. New versions land roughly every 3 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Octoprint (73/100, 9 167 stars). It scores higher overall, so compare the two before you pick. See fdm-monster vs Octoprint side by side.

Features

  • Batch Printing
  • Drag-and-drop GCode upload
  • Extended webcam integration
  • Maintenance mode
  • Multiple printer protocol support
  • Multi-printer dashboard
  • OctoFarm import
  • Printer organization on floors
  • Print queue management
  • Prometheus Metrics
  • Spoolman integrationPlanned feature, not yet implemented
  • Thumbnail Support
  • User management with roles
  • YAML backup and import

fdm-monster README

How to install fdm-monster

Install fdm-monster with Docker

Docker installed
Environment variables
SERVER_PORT, NODE_ENV, OVERRIDE_LOGIN_REQUIRED, OVERRIDE_REGISTRATION_ENABLED, OVERRIDE_IS_DEMO_MODE, OVERRIDE_DEMO_USERNAME, OVERRIDE_DEMO_PASSWORD, DATABASE_PATH, OVERRIDE_JWT_SECRET, ENABLE_PROMETHEUS_METRICS, etc.

docker run -d
--name fdm-monster
-p 4000:4000
-v fdm-monster-media:/app/media
-v fdm-monster-database:/app/database
--restart unless-stopped
fdmmonster/fdm-monster:2

Uses Docker volumes for persistent storage

How to configure fdm-monster

  • DATABASE_PATH./databasePath to SQLite data

    Path to SQLite data

    values: Any valid path

  • ENABLE_PROMETHEUS_METRICSfalseEnable Prometheus metrics endpoint

    Enable Prometheus metrics endpoint

    values: true, false

  • NODE_ENVproductionEnvironment mode: development or production

    Environment mode: development or production

    values: development, production

  • OVERRIDE_DEMO_PASSWORDdemo2023Demo mode password

    Demo mode password

    values: Any password

  • OVERRIDE_DEMO_USERNAMEdemoDemo mode username

    Demo mode username

    values: Any username

  • OVERRIDE_IS_DEMO_MODEfalseEnable demo mode (completes wizard automatically)

    Enable demo mode (completes wizard automatically)

    values: true, false

  • OVERRIDE_JWT_SECRETauto-generatedJWT secret for authentication

    JWT secret for authentication

    values: Any secure string

  • OVERRIDE_LOGIN_REQUIREDtrueRequire login to access the application

    Require login to access the application

    values: true, false

  • OVERRIDE_REGISTRATION_ENABLEDfalseAllow new user registration

    Allow new user registration

    values: true, false

  • SERVER_PORT4000The port the server listens on

    The port the server listens on

    values: Any valid port number

fdm-monster releases & version history

FAQ

Is there a demo instance I can try?

Yes, there is a demo instance available at https://demo.fdm-monster.net/ with username 'demo' and password 'demo2023'.

My printer shows as offline but it's running

Common causes: incorrect IP address or hostname, firewall blocking connection, invalid or expired API key.

How do I update FDM Monster?

For Docker Compose: run 'docker-compose pull && docker-compose up -d'. Your data is preserved across updates when using Docker volumes or persistent storage.

What about MongoDB support?

MongoDB is no longer supported since FDM Monster v2.0. The application now uses SQLite as its built-in database.

Do I need a separate database?

No, FDM Monster uses SQLite as its built-in database. No separate database server is required.

Which printer firmwares are supported?

OctoPrint (full support), Moonraker/Klipper (full support), PrusaLink (full support), Bambu Lab (work in progress).

What are the system requirements?

RAM: 512MB minimum (2GB+ recommended), Storage: 500MB - 1GB free space, Network: Stable connection to your printers.

Which platforms are supported?

Linux (Ubuntu/Debian) via one-click installer, Docker / Docker Compose, Raspberry Pi (3B+, 4, 5) via MonsterPi image, and Unraid.

What is FDM Monster?

FDM Monster is an open-source 3D print farm management tool for monitoring and controlling multiple printers from a single dashboard. It supports OctoPrint, Moonraker (Klipper), PrusaLink, and Bambu Lab printers.

More in 3D Printing

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…