The Silent Powerhouse: Mac Mini M4 Pro as a Headless Home Server

The M4 Pro chip isn't just for video editing. With its massive unified memory and Thunderbolt 5 ports, I've turned mine into the ultimate "set it and forget it" home server, capable of running everything from my personal blog to enterprise-grade ERPs and cutting-edge local AI.

Since the Mac Mini M4 Pro dropped, its performance-to-watt ratio has made it the undisputed king of home labbing. I’m currently running mine "headless"—no monitor, no keyboard, just a power cable and a 10Gb Ethernet line tucked away in my closet. The real magic happens when you look at the orchestration.

My Current Self-Hosted Docker Stack:

My goal is a production-level, fully self-sufficient ecosystem. Here is a look at what is actively running right now, separated into functional stacks. This entire set is orchestrated via Docker Compose and easily managed by Portainer.

Core Infrastructure & Networking:

These services provide the network backplane and secure remote access.

  • blog_web (omni-verse-blog:latest): My personal blog is running directly on the metal.
  • cloudflared-tunnel-1 (cloudflare/cloudflared:latest): Secure, scalable, and zero-trust access to all services, no open ports required.
  • nextcloud_app / nextcloud_db / nextcloud_redis / collabora_app: The full Nextcloud suite with Redis for performance and Collabora Online for real-time document editing—a complete private cloud office.
  • keycloak / keycloak-postgres-1: Centralized Single Sign-On (SSO) and user management, securing all other services.
  • mariadb:10.11 / redis:alpine: Essential high-performance database and caching backends used by multiple applications.

Productivity & Knowledge Management:

The services that keep me organized.

  • school-wikijs / schoolwiki-db-1: A dedicated Wiki.js instance with PostgreSQL for school documentation and resources.

  • hospitalwiki-db-1 (postgres:16-alpine): A dedicated database instance for the hospital management wiki.

  • castiel-site / castiel-pb: This is the public-facing engine for Grey's personal website (baby-grey.click). The front-end uses Nginx, while castiel-pb runs a PocketBase instance to serve up a fast, dynamic API for his personal timeline, family guestbook, and gallery updates.

  • n8n: Complex low-code workflow automation.

Local AI & Development:

The newest and most demanding members of the stack.

  • anythingllm / open-webui: Running Llama 3 via ghcr.io/open-webui/open-webui:main, providing a ChatGPT-like interface but completely local and private, utilizing the M4 Pro's Neural Engine.

Enterprise ERPs (in-development):

This is where the power of the M4 Pro really shines. I am in the process of spinning up two instances of Odoo 19, one customized for a Hospital Management System and another for a School Management System. Both instances rely on their own PostgreSQL backends and allow me to model complex multi-tenant or multi-domain operations within the safety of my local network.

The Roadmap: What's Next?

A home lab is never finished. Here are two critical projects on my roadmap for 2026:

  1. Self-Hosting OpenClaw: Bringing internal collaboration to the next level with OpenClaw, integrating directly with our GitLab instances.

  2. Appflowy: A self-hosted alternative to Notion. I’m planning to deploy it to manage all my complex personal project data, further decoupling my reliance on cloud-based SaaS.