Categories
Cybersecurity Software Development Storage

NanoMDM Architecture and Lessons for Small Mac Fleets

Explore a real-world NanoMDM deployment for managing small Mac fleets, covering architecture, setup, features, and trade-offs in a practical case study.

If you manage a fleet of under 50 Macs and want to avoid SaaS lock-in, NanoMDM is one of the leanest Apple MDM solutions available. This post walks through a realistic deployment scenario, architectural decisions, and trade-offs using NanoMDM in a small organization. You’ll see how it compares to other MDM platforms, what it takes to get started for free, and which features (and limitations) matter most when you outgrow manual device management.

Key Takeaways:

  • Explore a real-world NanoMDM deployment for a small Mac fleet, including architecture and setup steps.
  • Understand the main differences between NanoMDM and commercial MDM products for Apple devices.
  • Get a practical checklist for free, self-hosted MDM—including what you must provide yourself.
  • Learn key trade-offs in open-source MDM adoption, including support, automation, and compliance.
  • See honest lessons learned from operating NanoMDM, with references to deeper MDM platform comparisons.

Why NanoMDM for Small Mac Fleets?

NanoMDM is a minimalist, open-source Apple MDM server designed for technical teams who want direct control over their device management pipeline. Inspired by MicroMDM, it strips out unnecessary complexity, focusing on core MDM protocol handling and maximum flexibility.

Key motivators for choosing NanoMDM in a small organization:

  • No per-device or per-user licensing fees. You pay only for your server/cloud resources.
  • Open architecture: Complete API access and composable Go-based services let you automate and extend workflows.
  • Self-hosted data: Device and user data never leaves your infrastructure, a plus for regulated environments.
  • Zero/minimal local state: Designed for horizontal scaling, even if you don’t need it yet.

NanoMDM is especially suited if you have DevOps skills in-house and want to avoid SaaS lock-in or are not satisfied with the limitations of free commercial plans.

For an overview of MDM strategy, including when you might need a more full-featured solution, see our summary of MDM for BYOD and corporate devices.

NanoMDM Architecture in Production

NanoMDM’s architecture is intentionally minimal. It’s a set of stateless HTTP handlers in Go, connected to a persistent storage backend (MySQL/PostgreSQL/file). This modularity makes it easy to deploy in Docker, on-prem, or in any cloud.

Key Components

  • NanoMDM Core: Handles Apple MDM protocol endpoints, device check-ins, and command queuing.
  • Storage Backend: MySQL, PostgreSQL, or flat file. All persistent state (device enrollments, command history) goes here.
  • APNs Integration: Manages push notifications to enrolled devices via Apple Push Notification Service.
  • SCEP Server: Required to issue device identity certificates. You can bring your own or use micromdm/scep.
  • TLS Termination: Not built-in; run NanoMDM behind Nginx, Caddy, or another reverse proxy that handles HTTPS.

Horizontal Scaling and Multi-Tenancy

NanoMDM is stateless except for the persistent storage layer. You can run multiple NanoMDM instances behind a load balancer, and the storage backend keeps everything in sync. The platform supports multiple APNs topics, which is useful for MSPs or organizations with separate device groups.

Extensibility

NanoMDM exposes HTTP APIs for queuing commands and integrating with other tools—ideal for scripting and custom automation. There’s no web UI, but you can build your own or use the cmdr.py tool to generate commands.

Example: Minimal Production Deployment

# Pull and run NanoMDM in Docker
docker pull ghcr.io/micromdm/nanomdm:latest
docker run --rm -p 443:443 \
  -e NANOMDM_MYSQL_DSN="user:password@tcp(mysql:3306)/nanomdm" \
  -e NANOMDM_APNS_KEY="/certs/apns.p8" \
  -e NANOMDM_APNS_KEY_ID="YOUR_KEY_ID" \
  -e NANOMDM_APNS_TEAM_ID="YOUR_TEAM_ID" \
  -e NANOMDM_APNS_TOPIC="com.apple.mgmt.EXAMPLE" \
  -v /path/to/certs:/certs \
  ghcr.io/micromdm/nanomdm:latest
# Note: You must handle TLS externally (e.g., via Nginx reverse proxy)

This is the minimum viable deployment. In production, you’ll use secure secrets, automate certificate renewal, and add monitoring/logging. For multi-instance scaling, use a managed SQL backend and a standard load balancer.

For a step-by-step, see the official quickstart guide.

Practical Setup: Getting NanoMDM Running for Free

NanoMDM itself is free and open-source under the MIT license. Here’s what you need to get started for a small team (under 50 employees) without any recurring software costs:

  1. Server Hosting: Use an existing Linux VM, a Raspberry Pi, or a free-tier cloud VM (performance is not a bottleneck for small fleets).
  2. Database: MySQL or PostgreSQL, either local or cloud-hosted. For under 100 devices, SQLite or file mode is also viable for testing.
  3. SCEP Server: micromdm/scep is free and pairs with NanoMDM for certificate issuance.
  4. Apple Push Certificate: Free from Apple, but requires a developer or business account to generate.
  5. TLS Proxy: Nginx or Caddy, both open-source, to provide HTTPS termination.

Device Enrollment Workflow

You must create and serve your own MDM enrollment profiles. There’s no built-in web console for this; you’ll use Apple Configurator or scripts to generate and distribute profiles. For ADE (DEP) workflows, NanoMDM supports device enrollment but does not provide automated DEP API management.

# Example: Generate and serve a profile (simple use-case)
# (Replace placeholders with your values)
openssl req -new -newkey rsa:2048 -nodes -keyout mdm.key -out mdm.csr
# Use Apple tools to sign and turn this into an enrollment profile.
# Serve profile over HTTPS (e.g., with Nginx)

For more on real-world enrollment and open-source MDM, see this MicroMDM deployment walkthrough.

What Features Do You Get?

  • Device enrollment and management of macOS (and iOS/iPadOS) endpoints.
  • Remote command queuing (lock, wipe, reboot, install profile, etc.) via API or CLI.
  • Integration with Apple Push Notification Service for real-time command delivery.
  • Support for multiple tenants/brands (APNs topics).
  • Stateless, horizontally scalable backend for future growth.

You do not get a web dashboard, built-in reporting, or automated compliance checks—those must be layered on with your own tooling.

Feature Comparison: NanoMDM vs. Commercial MDM

How does NanoMDM stack up against mainstream MDMs like Jamf, Kandji, or Intune? Here’s a practical comparison focused on small Mac fleets:

MDM PlatformCore FeaturesSelf-HostingAutomation/APIWeb UICost (for <50 devices)Ideal For
NanoMDMEnrollment, remote commands, APNs, SCEP, multi-tenantYesYes (API/CLI)NoFree (infra only)Technical teams, custom workflows
MicroMDMSimilar to NanoMDM, now in maintenance modeYesYesNoFreeLegacy open-source users
Jamf NowFull dashboard, automation, reportingNoLimitedYesFree up to 3 devices, then paidNon-technical admins
KandjiRich policies, compliance, UI, supportNoYes (limited)YesPaid (per device)Growing orgs, compliance-driven
IntuneCross-platform, integrates with Azure ADNoYesYesPaidEnterprises, hybrid fleets

NanoMDM gives you maximum flexibility and no software fees, but you trade away ease of use, vendor support, and reporting. For a deeper breakdown of commercial MDM options, see our comparison of Intune, Jamf, and Workspace ONE.

You landed the Cloud Storage of the future internet. Cloud Storage Services Sesame Disk by NiHao Cloud

Use it NOW and forever!

Support the growth of a Team File sharing system that works for people in China, USA, Europe, APAC and everywhere else.

Considerations and Trade-offs

Adopting NanoMDM (or any open-source MDM) comes with real trade-offs you must consider for your organization’s needs.

1. Support and Maintenance

  • You are responsible for infrastructure, upgrades, backups, and troubleshooting. There is no official support beyond community channels and GitHub issues.
  • Critical bugs or Apple protocol changes may require hands-on patching or waiting for the open-source maintainers to update.

2. Workflow Automation and User Experience

  • There is no web dashboard or pre-built reporting. All configuration, enrollment, and command queuing is CLI/API-driven.
  • Non-technical staff may struggle with manual workflows, especially as device count grows.

3. Compliance and Security

  • Compliance features (policy enforcement, audit logs, reporting) must be layered in manually or with third-party tools. No built-in compliance templates.
  • You are responsible for security of the MDM server and all keys/certificates—misconfiguration could expose sensitive device data.

4. Feature Coverage and Apple Ecosystem Changes

  • NanoMDM covers “core” Apple MDM protocol, but advanced features (e.g., automated DEP/ADE workflows, rich app management, user self-service) are not included.
  • Apple ecosystem changes can break workflows; you must keep up with WWDC and protocol updates.

Alternatives

  • Jamf Now: Easy to use, SaaS-hosted, but limited free tier and paid plans kick in quickly.
  • MicroMDM: Legacy open-source, now in maintenance mode; migration to NanoMDM is straightforward for existing users.
  • Kandji, Intune, Workspace ONE: Paid, feature-rich, with official support and compliance tools. Worth the price if automation and non-technical workflows matter.

For more on real-world challenges and how to overcome them, see the deep-dive at Top MDM Challenges in 2026 and ManageEngine MDM Challenges.

Conclusion and Next Steps

NanoMDM offers a lean, API-first approach to managing a small fleet of Macs, with zero software cost and no vendor lock-in. If your organization is technical and values flexibility, it’s a strong choice—but you must accept the responsibility for ongoing maintenance, compliance layering, and API-driven workflows.

If you need a web UI, support, or automated compliance, look to commercial MDMs. For more architecture deep-dives and production case studies, review our MicroMDM case study and enterprise MDM platform comparison.

If your automation stack touches Apple devices, you might also find value in our posts on WebAssembly for modern web integration and advanced SQL troubleshooting.

Sources and References

This article was researched using a combination of primary and supplementary sources:

Primary Source

This is the main subject of the article. The post analyzes and explains concepts from this source.

Supplementary References

These sources provide additional context, definitions, and background information to help clarify concepts mentioned in the primary source.

Critical Analysis

Sources providing balanced perspectives, limitations, and alternative viewpoints.

By Thomas A. Anderson

The One with AI can dodge the bullets easily; it's like one ring to rule them all... sort of...

Start Sharing and Storing Files for Free

You can also get your own Unlimited Cloud Storage on our pay as you go product.
Other cool features include: up to 100GB size for each file.
Speed all over the world. Reliability with 3 copies of every file you upload. Snapshot for point in time recovery.
Collaborate with web office and send files to colleagues everywhere; in China & APAC, USA, Europe...
Tear prices for costs saving and more much more...
Create a Free Account Products Pricing Page