Flamingo Raises $4.5M to Get MSPs Out of the Ticket Queue

Skip to content
NanoMDM logo

NanoMDM

Mobile Device Management

Open Source
Self-hosted
OpenMSP Score
43
40
Reddit Impact Score
Github Score
436K
716Stars
113Forks
305Commits
MIT LicenseLicense
Nov 12, 2026Last commit
NanoMDM is an open-source (MIT) Apple Mobile Device Management server and Go library from the MicroMDM GitHub organization. It implements the core Apple MDM protocol: device check-ins, the command queue, APNs pushes and an HTTP API for queuing raw Plist commands, with a MicroMDM-compatible webhook for processing device responses. It is designed for horizontal scaling with almost no local state; enrollment and command data live in a storage backend (a built-in file key-value store, MySQL or PostgreSQL). It supports multiple APNs topics, which makes it potentially multi-tenant, can target one command at many enrollments at once, and has a migration endpoint for moving enrollments between storage backends or MDM servers. NanoMDM is deliberately one component rather than a complete product. You run it alongside a SCEP server (for example micromdm/scep), a reverse proxy that terminates TLS, and your own enrollment profiles. It has no web console, no VPP and no ADE (DEP) API access, although ADE enrollments are supported. Other projects in the same Nano suite fill those gaps: NanoDEP for the ADE API, NanoCMD and KMFDDM for workflows and Declarative Device Management, and NanoHUB, which combines NanoMDM, NanoCMD and KMFDDM into a single server. The MicroMDM maintainers put MicroMDM v1 into maintenance mode in 2025, ended its support at the end of 2025, and name NanoMDM and the Nano suite as the official migration path; the micro2nano tools help move existing enrollments. NanoMDM ships as release zips and a Docker image on GitHub Container Registry. It is aimed at engineers who want to build their own MDM tooling; MSPs without in-house developers will find a commercial or full-featured open-source MDM easier to run.

Key Features

Apple MDM protocol core

Handles device check-ins, the MDM command queue and APNs pushes for macOS, iOS and iPadOS enrollments, including ADE (DEP) enrollments.

API-driven commands

HTTP API to queue raw Plist MDM commands and send pushes, with multi-command targeting of many enrollments at once.

Pluggable storage

Enrollment and command data in a built-in file key-value store, MySQL or PostgreSQL, so the server itself keeps almost no state and scales horizontally.

Multiple APNs topics

One server can serve several APNs push topics, which makes multi-tenant setups possible.

MicroMDM-compatible webhook

Sends device responses to a webhook in the same format as MicroMDM, so existing MicroMDM integrations keep working.

Migration endpoint

Moves MDM enrollments between storage backends or from supported MDM servers; micro2nano helps migrate from MicroMDM.

Pros and Cons

Pros

Free and open source

MIT licensed with no license cost; source on GitHub.

Actively maintained successor

The MicroMDM maintainers name NanoMDM and the Nano suite as the supported path after MicroMDM v1 support ended in 2025.

Scales horizontally

Minimal local state with MySQL or PostgreSQL storage lets you run several instances behind a load balancer.

Composable

Combine with NanoDEP, NanoCMD, KMFDDM or NanoHUB to add only the pieces you need.

Easy migration from MicroMDM

MicroMDM-compatible webhook, a migration endpoint and the micro2nano tools.

Cons

Not a complete MDM

You must supply SCEP, TLS termination and enrollment profiles; there is no VPP and no ADE (DEP) API access.

No web UI

Management is through the HTTP API and raw Plist commands; there is no graphical console.

Apple only

Manages macOS, iOS and iPadOS devices only.

Needs engineering skills

Best suited to teams that build their own tooling; no commercial support.

Feature Comparison

Features
Cost and Licensing
Loading the comparison

Comments

No reviews yet. Be the first to share your experience with NanoMDM.

Frequently Asked Questions

/vendor/nanomdm