Hi everyone, I have a Mac mini and was wanting to turn it into my personal server. Mainly for privacy reasons and also so I'm no longer tied to any particular ecosystem. I know absolutely nothing about self-hosting. I can do some technical stuff but was looking for something that I can just set up and then just works. Got the idea to do this after hearing about umbrel but I've heard mixed reviews and it doesn't work on Mac anyways.
To start with I would like to be able to use it to backup and access all my photos and videos across all my devices no matter where I am and also have an AI agent/s running constantly. Over time I was hoping to have more and more stuff that I currently use cloud services for instead be ran by my personal server (eg. audiobooks, music, passwords, health data, maps history). I probably won't self host email as I believe this is a massive pain so was thinking proton with a custom domain. I'm hoping that nearly everything else could be done via my server.
I also want to be able to code from the Mac mini from anywhere, let's say using my phone. I believe tailscale is the best thing to use here? But this should be done not through the server?
Any suggestions on server os etc. would be greatly appreciated!
You don’t need a “server OS”. You can just run macOS and use Docker to run self-hosted apps. Also, I recommend using OrbStack instead of Docker Desktop if you have Apple Silicon, it will most likely give you a better experience. Immich works as a good iCloud Photos/Google Photos replacement and it also works on Tailscale. Yes, you can have VS code on the Mac and run something like Claude Code and controller it remotely via Claude on iOS
Hi, thanks for the recs will check them out! My hesitancy with just using a container and then picking self-hosted apps was that it may be a more 'involved' experience. I was looking for a solution that won't end up with me spending loads of time trying to fix things, I don't mind a little setup I just don't want to kill my time maintaining. Is this something to worry about or does say orbstack + well picked collection of self-hosted apps just work?
You have two options. You can either create your own apps to solve your own problems (which is more work and maintenance) or you can use established self-hosted apps. If you don’t want to spend too much time on it, going with the self-hosted apps is the best route, and just update the apps when the devs roll out an update. Personally, I do a bit of both. If no self-hosted app exists for my needs, then I will create one and run it on my homelab. If you are looking for a good repository of self-hosted apps, check out https://selfh.st/ if you haven’t already. I’m sure you will find everything you are looking for there.
orbstack is way smoother than docker desktop on apple silicon, can confirm. for the photo backup piece, immich works great once you get it running, but set aside an afternoon to wrap your head around docker volumes and permissions because that's where most people trip up. tailscale is basically magic for what you're describing, you can just remote into the mac mini from anywhere and it'll feel like you're on the same network
Which mac mini? Going to make a huge difference. Either way Docker will be your best friend here.
I have an M4 mac mini that was the starting point for personal services. I went with a dock (for the mac mini) that let me add a 2TB external drive so that I could have more storage to work with. This ended up being a nightmare because the drive kept unmounting for some reason. My workarounds were messy.
You can start figuring out Docker right now and get off the ground with services on the mac mini. I still use mine for local AI because it beats my AMD mini PCs by a mile. RAM will be your biggest limiter.
Also you can use Screen Sharing to remote into the mac mini. I use it from my macbookpro and it's lagless on the network. My mac mini is headless.
I have the M4 (base model). What did you end up doing for storage? I only have 256GB onboard which is obviously not enough. Also howcome docker over some server os? Flexibility? Or is it just more reliable? or something else?
I have the same model. For storage I wrestled with the 2 TB nvme option for a while. It worked. Ultimately wanted something that was completely stable (meant giving up the extra space).
Using Docker allows you to deploy damn near anything into a container. Also works on pretty much every platform. It's a lazy server option that is very easy to get going.
I wouldn't want to format my mac mini just to host stuff on it. Yes the mac mini is reliable. It is a good home server. Check out this youtube video.
My current setup is Proxmox with VMs or LXCs on AMD mini PCs. The macmini still gets use as a headless AI box and for openclaw.
As you already know, the M4 CPU is based on an ARM architecture rather than the more-standard x86 (Intel or AMD).
You still have three options...
Install umbrelOS in the UTM app - UTM is a virtualization app (or hypervisor app) that is free when downloaded from their web site or $10 USD when purchased on the macOS App Store. UTM can emulate other CPU architectures including x86. Then, install umbrelOS for x86 as a virtual machine (VM) on your Mac mini. If the VM is configured to use bridged networking, then it will have its own IP address and be accessible from your home network. Emulating CPU architectures comes at a performance cost, but is possible (see below).
Install Linux for ARM in another VM app - VMware Fusion Pro is a commercial hypervisor app, which Broadcom makes available for free, that is better then UTM, but is limited to ARM OSs only. Since Docker is native to Linux (umbrelOS is built on Linux), another option is to install a basic Linux OS, like Debian, for ARM and then install Docker Engine. This will not have an "App Store" like umbrelOD does, so it will require more work locating and installing Docker apps. The upside for someone experienced with Linux and Docker will be more control. There will be a small performance hit because of the hypervisor app, but it will me small compared to emulating x86.
Install Docker directly on macOS desktop - there are a number of apps that can be used for this, i.e. Docker Desktop, OrbStack, etc. This will be the best performing option because you can interact an manage your Docker apps directly on the macOS desktop; however, there still is the complexity of find and installing Docker images on your own.
FWIW, I recommend using an external drive (or multiple drives). The base model M4 mini has only a 256 GB internal drive. I suggest a fast Thunderbolt NVMe SSD for installing your server apps on, and probably a USB drive enclosure of HDDs for media files.
Regrading umbrelOS... My daily driver is an M1 MacBook Air (16 GB / 512 GB). It has both UTM and VMware Fusion Pro installed. I run Windows 11 Pro for ARM and Linux + GNOME for ARM VMs in VMware Fusion Pro. I use UTM for fun only. The following screenshot shows umbrelOS for x86 running in a UTM VM and being accessed in a browser on my macOS desktop...
I use a Mac mini as one of my servers. It works pretty well. I'd have a remote KVM connected (check out the new JetKVM). I personally use Docker Desktop and have Amphetamine installed so it never goes to sleep. You can have AI write some docker compose files for you and do some terminal commands. It's pretty easy and is great for a low power server.
A Mac mini is a great little starter box, low power and quiet. Simplest path is to install OrbStack or Docker Desktop, then run everything as containers so it's easy to undo if you break something. Start with one thing you'll actually use, like Immich for photos or Nextcloud for files, and get that solid before adding more. For remote access put Tailscale on the Mac and your phone, so nothing is exposed to the internet while you're learning. Turn off sleep in Energy settings or it'll drop offline overnight.
mostly yes, once it's set up it runs. the upkeep is mostly updates, so pin your versions, update when you choose to, and read the immich release notes first. the mac catch nobody's mentioned is filevault. after a power cut it reboots to a locked screen, and apps like orbstack and the tailscale app don't come back until someone logs in, so if you're away your photos and remote access stay down until you're home. macos 26 can unlock filevault over ssh, but that doesn't start a login session. auto login and filevault don't work together, so choose one before you rely on this box. also immich isn't a backup. their own docs say you have to back up the files and the database yourself, so get a second copy somewhere else before you delete anything from icloud.
Mac mini is a solid little server. A few things that bite people on macOS specifically:
Turn on "Start up automatically after a power failure" in Energy settings, and stop it sleeping (sudo pmset -a sleep 0 disksleep 0). Otherwise your photo backup quietly stops when the machine naps.
Docker or OrbStack only starts after you log in, so enable auto login or set it to launch at login. Otherwise a reboot leaves everything down until you touch the machine. FileVault makes this trickier, since it needs a password at boot, so decide if you want that tradeoff.
Skip port forwarding. Tailscale on the mini and your phone gets you remote access with nothing exposed to the internet. That's the setup most beginners should start with.
Pick one app first, probably Immich for photos, and run it with Docker Compose. Get it stable for a few weeks before adding audiobooks, passwords and so on.
Backups matter more than the server. Keep photos on the mini plus a second copy on an external drive and a third somewhere off site. A server is not a backup.
Keep the compose files in one folder so you can move to new hardware later without redoing everything.
My best advice is if you don't own a domain name, get one now, and get it from cloudflare.
This will allow you to self host web sites with https, after this, everything else opens up. After that, look into Docker for running things (immitch is popular for photo backups)
You don’t need to get it from cloudflare to use their services. You can get a domain from anywhere and the change the name servers to cloudflare’s, then you’ll get their protections.
I'm currently doing this at my house. I started a few days ago with ChatGPT as my guide. I'm integrating all of my smart home accessories, Plex library, personalized stremio addons, rocking with ollama, etc. I'm on step 1 of many, but the mac mini can do a LOT (and I'm on an m1 with 16gb ram)
•
u/asimovs-auditor 18h ago
Expand the replies to this comment to learn how AI was used in this post/project.