Mac Mini M4 as a home server: why storage runs out first
A Mac Mini M4 left running around the clock makes a capable home server: it draws little power at idle, stays quiet under a light load, and takes up less desk space than a router. macOS runs Docker and other container workloads through a desktop container runtime, so the usual self-hosted stack, a few containers, a media library, a backup target, fits without needing a machine dedicated to a command line. The part that catches people out is storage: what a home server accumulates fills a drive faster than typical desktop use does, and the base configuration is not built for it.
Why the Mac Mini M4 suits an always-on server
Four things matter for a machine that stays on all day, every day: what it costs to run, how much noise it makes, how much room it takes, and whether it can run the software a home server needs. The Mac Mini M4 (2024) answers all four well enough that it has become a common choice for exactly this.
- Idle power: Apple states 4W idle and a maximum of 65W for the Mac Mini M4 (support.apple.com/en-gb/103253, checked September 2026). Apple measures idle with only the Finder open, so a server doing real work draws more: run near-continuously, the machine uses at least 35 kWh a year (our calculation: 4W x 24 hours x 365 days), a small fraction of what an always-on PC tower draws.
- Size: 12.7 x 12.7 x 5.0 cm (support.apple.com/en-us/121555, checked September 2026), small enough to sit behind a monitor or on a shelf next to a router without becoming furniture.
- Quiet: Apple declares a mean A-weighted sound pressure level of 4 dB at the operator position for the Mac Mini M4, both at idle and in its wireless web test, measured under ECMA-109 (support.apple.com/en-us/121555, checked September 2026). Apple publishes no figure for sustained heavy load, which is when the fan has to work hardest; serving files and running a handful of containers is a light load.
- macOS runs containers: the Mac Mini M4 does not run Linux containers natively, but a desktop container runtime, Docker Desktop and OrbStack are the two in common use, runs a lightweight Linux VM in the background and gives you the same
dockercommand line you would use on Linux.
Low idle power is not unique to the M4 among Apple silicon Mac Minis, although the M4 draws less: Apple lists 4W idle for the M4 against 6.8W for the M1 (2020) and 7W for the M2 (2023), each in the configuration Apple measured (support.apple.com/en-gb/103253, checked September 2026). What the M4 changes is storage: unlike every Mac Mini since 2018, it keeps its storage on a removable module, so a machine that fills its drive is not stuck at whatever capacity it shipped with. See is the SSD upgradeable for how that works.
What a home server actually stores
The workloads people run on a home Mac Mini are fairly consistent, and none of them look like the everyday use the base storage configuration was sized for:
- Container images and their volumes: a container runtime stores each image once and reuses shared layers, but a working set of a dozen self-hosted apps, each with a database volume that grows, adds up over months.
- A media library: ripped discs, downloaded shows, a music collection. This is usually the single largest consumer of space on a home server.
- A Time Machine target: pointing another Mac's backups at the Mini turns it into that Mac's backup destination, and Time Machine keeps hourly, daily and weekly snapshots until the volume fills.
- A photo library: Photos or an equivalent, synced or migrated from a phone, easily runs into hundreds of gigabytes once a few years of originals are counted.
- Backups of other machines: not just Time Machine, but exports, database dumps and configuration backups from anything else on the network.
- A self-hosted git host: small on its own, but its LFS objects and CI build caches are not.
Every item on that list keeps growing on its own, without anyone deciding to buy more storage. That is the trap: the machine is bought for what it can already do, and the drive fills with what it accumulates afterwards.
The storage budget: why 256GB runs out before the real job starts
The base Mac Mini M4 ships with 256GB of storage (support.apple.com/en-us/121555, checked September 2026). Before a single container has written real data or a single file has been backed up, that budget is already mostly spent: macOS itself, its factory apps and the free space kept clear so updates can install take roughly 40GB by our estimate; a container runtime app plus the Linux VM it keeps on disk takes another 20GB by our estimate; and a working set of a dozen self-hosted containers with their images, volumes and logs easily reaches 40GB more by our estimate. That is 100GB gone on a machine that has not yet stored one photo, one movie or one backup, leaving 156GB, which is the entire remaining budget for every item in the list above.
| What it stores | Space budgeted (our estimate) | Left on the 2TB module |
|---|---|---|
| macOS, container runtime and a working container set (the 100GB above) | 100GB | 1900GB |
| Time Machine target for one other Mac | 500GB | 1400GB |
| A modest photo library | 150GB | 1250GB |
| Media library: movies, shows, music | 450GB | 800GB |
| Git host: repositories, LFS objects and CI caches | 50GB | 750GB |
These are planning numbers, not a measurement of any specific setup: a media library can be far larger, a Time Machine target for a laptop with a fuller drive needs more room, and a single-user git host may need far less. The point of the table is the shape of it, not the exact figures: a 256GB drive is gone before the actual job starts, and even a 2TB drive is a budget to manage, not a number to forget about. Apple's advertised capacity is also the nominal figure; formatted capacity in the Finder reads a little lower, as it does on any drive.
Checking the real numbers on your machine
The table above is a planning estimate. Once the server is running, two commands show what is actually happening: one for the boot volume, one for the container runtime.
df -h /
docker system dfThe first line reports free space on the boot volume; the second breaks container usage down by images, containers and volumes, if the runtime is Docker Desktop or OrbStack. Both keep their Linux data in a single disk image file. Docker Desktop stores it by default under ~/Library/Containers/com.docker.docker/Data/vms/0 and sets its maximum size in its own settings, under Resources; lowering that limit deletes the existing disk image, with every container and image in it (docs.docker.com/desktop/troubleshoot-and-support/faqs/macfaqs, checked September 2026). OrbStack stores a sparse data.img under ~/Library/Group Containers/HUAQ24HBR6.dev.orbstack/data, which takes only as much space as its contents and shrinks when data is deleted, so there is nothing to resize; the ~/OrbStack folder is only a view of that data and takes no space itself (docs.orbstack.dev/faq, checked September 2026). Many tools show the file's apparent size, not what it uses: check the size on disk in the Finder's Get Info window, or run du -h on the file.
Internal module or external Thunderbolt SSD
Two ways to get past 256GB: our internal replacement module, or an external Thunderbolt SSD plugged into the Mac Mini. They are not equivalent for a machine meant to run unattended.
- Boot volume: Apple documents how to install macOS on an external USB or Thunderbolt drive and select it as the startup disk (support.apple.com/en-us/111336, checked September 2026). A server that starts up from an external drive depends on that drive for its whole system, not just its data: if the drive disconnects, macOS goes with it. The internal module is the startup disk the machine was designed around.
- Cables and power: an external SSD is another cable, and if it is bus-powered, another point of failure on wake; a self-powered enclosure is another power brick on the shelf.
- One box on the shelf: the internal module keeps the Mac Mini a single object with one power cable, which matters more for a machine meant to be left alone in a closet or on a shelf than for a desktop that is used, watched and rebooted daily.
None of this rules out an external drive for bulk, low-priority storage, a folder of monthly archives, an infrequently used library, only for the boot volume and anything the server needs available the moment it wakes.
The caveats worth knowing before you commit
- The memory ceiling: the base Mac Mini M4 ships with 16GB of unified memory, configurable to 24GB or 32GB only at the time of purchase (support.apple.com/en-us/121555, checked September 2026); memory is integrated into the chip package in the Mac mini (2024) and can't be upgraded afterwards, unlike storage (support.apple.com/en-us/102328, checked September 2026).
- No ECC memory: consumer Macs, the Mac Mini M4 included, do not use error-correcting memory. That is normal for a home machine and rarely noticed; it matters more if the server is expected to hold the only copy of something for years, where ECC is the usual recommendation.
- macOS restarts to install its updates: a Mac can restart several times during an installation, and the Software Update settings decide which updates download and install automatically (support.apple.com/en-us/108382, checked September 2026). With automatic installation on, a restart can come at a moment you did not choose; with it off, you pick the moment but have to remember to. Either way, plan for a few minutes of downtime per update, and do not rely on the server for anything that cannot tolerate that.
None of these are reasons to avoid the Mac Mini M4 as a home server; they are reasons to size the job to the machine. A media server, a handful of self-hosted apps and a backup target for one or two other Macs are comfortably within what it does well.
Related questions
- Can the Mac Mini M4 run Linux instead of macOS?
- Not on the bare hardware yet. Asahi Linux, the project that brings Linux to Apple silicon Macs, lists the M1 and M2 series as supported and not the M4 (asahilinux.org/fedora, checked September 2026). Linux does run in a virtual machine on macOS, which is what a desktop container runtime already does for you. Everything above assumes macOS with a desktop container runtime.
- Does sleep break containers running in the background?
- It can. A Mac Mini set to sleep stops everything, including containers, until it wakes. For an always-on server, turn sleep off in Energy settings; macOS does not need to sleep to save meaningful power at the idle figures above.
- Is a Mac Mini M4 enough to also be a NAS?
- For a couple of Macs and modest capacity, yes; the storage-budget table above is the way to check before committing. For many drives, RAID, or file sharing at real scale, dedicated NAS hardware is built for exactly that job and the Mini is not.
- Which capacity should I order for a home server?
- Work backwards from the table above with your own numbers for media and backups, and leave room for growth. The example budget in the table comes to 1250GB, which leaves 750GB free on the 2TB module, €399.30. Check which Mac Mini models are compatible first, to make sure the machine you already own takes it.
- What about the guarantee and the original module?
- Keep the original 256GB module. Refitting it returns the Mac Mini to exactly how Apple sold it, which matters if you sell the machine or send it to Apple for service. See what is in the box and the guarantee for how the two-year guarantee applies to a self-installed module, and the installation guide for the swap itself.
Ready to upgrade?
More guides
- Is the Mac Mini M4 SSD upgradeable?Yes, and this is the first Mac Mini in years where that is true. What the swap involves before you order.
- M4 vs M4 Pro: why the storage module is differentTwo Mac Minis from the same year, two different modules. Check which one you have before you order.
- DFU restore with Apple Configurator, step by stepThe part of the upgrade that happens on a second Mac. Exact steps, the black-screen moment, and the fixes when nothing appears.
- Which Mac Mini models are compatible?One model fits. The rest do not, and here is why, year by year.
- What is in the box, and the 2-year guaranteeThe module, the tools, the plain packaging, and what happens if something is wrong.
- Running local AI models on a Mac Mini M4: the storage mathMemory decides which model you can run; storage decides how many you keep, plus the caches that grow beside them. Sourced download sizes and a computed storage budget for 256GB, 512GB and 2TB.
- A remote AI coding setup on a Mac Mini M4 with Tailscale, mosh and herdrTailscale connects the two machines without port forwarding, mosh keeps the shell alive across sleep and Wi-Fi changes, and herdr keeps AI coding agents running between sessions. Setup steps, honest caveats, and a computed storage budget.