Setup, power and thermals, and software tips for running a Mac mini as a home server or self-hosting box.
The planned home server uses an Intel N95 mini PC for several self-hosted services. The intended stack includes Jellyfin, Emby, *arr apps, qBittorrent, Pi-hole, and a WireGuard server. The goal is to reach the media apps from outside the home network. The machine has about 16 GB of memory, with about 8.25 GB shown as available. Storage is a roughly 1.8 TB NVMe drive, with almost all of it assigned to the data partition. Swap is set to about 12 GB.
oMLX has 7 recent tracked items. One server startup problem is tied to an invalid MCP setting, where an unused `cwd` field can stop the server from launching. Memory errors can happen during prefill even on Macs with large amounts of RAM, because the work can go past the `metal_cap` limit. In the chat screen, action buttons can be cut off when prompts are long or the window is small. The setting that should start the server automatically when the app launches does not work as expected. The `gpt-oss-20b-tq3` model can fail to load on oMLX 0.4.4 because of an internal `turboquant` error. Two improvement requests ask for server settings to stay reachable even when the server is stopped, and for Specfill to show a more complete list of draft models.
Ubuntu Server 26 LTS is using Netplan to combine Ethernet and Wi-Fi into one bond0 connection. The goal is to use Ethernet enp7s0 as the main link and fall back to Wi-Fi wlp6s0 when Ethernet is unplugged. The bond0 connection has the fixed address 192.168.29.50/24, the default gateway 192.168.29.1, and DNS servers 1.1.1.1 and 1.0.0.1. The bonding mode is active-backup, with enp7s0 set as the primary link. In practice, plugging in Ethernet makes the server switch to Ethernet, but SSH and ping from the Mac stop working. Unplugging Ethernet makes the server switch back to Wi-Fi, and SSH starts working again. The configuration also shows a possible interface name mismatch: the bond uses enp7s0, while the Ethernet section lists enp780.
MenuBarMonitor is a Mac menu bar app for checking CPU, GPU, NPU, memory use, temperatures, and fan speed. It lets people arrange those readings and change the look of the icons, graphs, and colors. Unlike apps that only show system stats, it also offers controls such as freeing memory and assigning apps to efficiency cores or performance cores. The goal is to move less important foreground apps to lower-power cores and reduce power use. It says it shows real memory use instead of only “free memory,” which can be misleading. It also points out apps that are quietly using a lot of CPU in the background. A small floating widget can sit on a second screen for gaming, benchmarks, or constant monitoring.
A private network already runs across several VPS machines. It uses a hub-and-spoke layout, where other servers connect back to one central hub. Access is protected with WireGuard encryption. The VPN can work as a full tunnel, where all internet traffic goes through the VPN, or as a split tunnel, where only selected traffic uses it. Outside internet traffic is not meant to pass through the hub; it would go through one of two exit nodes in separate locations. The goal is to let family and friends use the setup only for privacy and VPN needs. A private Matrix server on the hub is also being considered so family and friends can message each other more privately.
OpenResto is a self-hosted app for managing restaurant table reservations. The latest changes make it easier to run on your own server, mainly because versioned packages are now available on GHCR. The app uses three containers, and all three are kept on matching versions so they can be pulled and tested together. A live demo is available at Openres.to, including the admin panel, and it resets every two hours. The demo admin login is example@example.com with the password password. Personal information should not be entered while testing the booking system. The booking cancellation flow has been improved, and location management now has its own section in the settings page. A new notifications section has been added, with push notifications for administrators, but push notifications are off in the demo and need VAPID keys when setting up a real install.
A ZimaBoard2 used only for Home Assistant is making unexpected outside connections. The firewall logs show about 500 attempts per day to reach tracker websites. That does not match the simple purpose of the device, so it raises a question about whether some installed service, add-on, or built-in software is making network calls in the background. The cause is not confirmed yet.
Google’s public traffic numbers recently showed IPv6 passing the 50% mark. The question is whether personal and home server networks are still using only IPv4, only IPv6, or dual stack with both versions enabled. The practical point is that IPv6 is becoming normal enough to matter for small self-hosted setups. Anyone running a Mac mini server may need to check whether the internet provider, router, firewall, and domain settings handle IPv6 correctly.
A setup that creates many images needs a place to store them, add tags, select many images at once on a phone, and copy the public URL for all selected images together. Mobile use matters because dragging across images to select them would make the workflow much faster. Existing gallery tools were hard to find with this exact mix of features. A temporary custom solution is being used until a better self-hosted option appears.
A small home server can run services such as NextCloud, Immich, Jellyfin, and Navidrome for personal files, photos, video, and music. Hardware like an HP 705 G4 with a Ryzen 5 2400GE, 16 GB of memory, and a 128 GB SSD is enough to start hosting several personal tools. A low-cost VPS can also be added alongside the home server, so some things run at home and some things run on an outside server. In the first few months, daily work often means changing settings, installing new tools, and testing improvements on the current setup. Those changes can break services, and repairs can take late-night effort. The reward is the satisfaction of fixing the problem and then looking for the next useful self-hosting idea. AI can make the learning curve much easier by helping with setup steps and troubleshooting.
Infisical is being used with Komodo and Terraform to move away from `.env` files completely. The main question is how to organize passwords, API keys, database logins, and other secrets inside Infisical. One option is to create a separate folder for each application and store everything that app needs in its own place. This makes ownership clear and makes access control easier, but it can create duplicate copies when several apps need the same API key or shared service setting. Another option is to group secrets by provider or shared service, such as Cloudflare, Postgres, or GitHub, and let apps read the paths they need. This reduces duplication and makes reuse easier, but access control can become broader than intended, so an app may be able to see secrets it does not really need. The practical choice is between stronger isolation per app and cleaner reuse across the whole setup.
MoaiEditor is a new plugin for DokuWiki that adds a two-pane editing screen with live preview. One side is used for writing, and the other side shows how the page will look before it is saved. When it is used with CodeMirror, text such as code or markup can also be shown with clearer color highlighting. The plugin is still in alpha, so it is not a finished release yet, and testers are welcome. Development is active, and support for more third-party plugins is being improved over time. A plugin page, demo videos, and a demo wiki are available.
The setup starts with 11 free 8TB enterprise SAS drives, for a total of 88TB of raw storage. The drives are Dell/HGST Enterprise Plus models with SAS 12Gb/s, 4Kn formatting, and 7200RPM speed. The intended system is a NAS running Unraid for Plex, family photos and videos, general backups, and file storage. SATA drives are familiar, but SAS, HBA cards, and disk shelves are new territory here. Expansion beyond 12 drives is not expected. The goal is a reliable home setup that does not waste too much power, rather than a large rack full of equipment. The main decision is whether to use a 12-bay disk shelf or JBOD, or instead buy a large computer case and put all drives in one machine. Other open questions are which HBA fits these drives, whether 4Kn causes compatibility issues, and which enterprise shelves are worth choosing or avoiding.
A small personal learning server runs on a Dell Optiplex 7080 upgraded with 64GB of memory, a boot drive, and a 2TB NVMe drive. The main system uses Proxmox and runs Jellyfin for personal DVD rips, Turnkey Fileserver for SMB file sharing and backups, and Debian virtual machines for other services. One Debian virtual machine runs Docker, Glances, a custom Lego BrickLink sale monitor, Uptime Kuma, Nginx, and some paused personal projects. The Lego sale monitor and Uptime Kuma send alerts through Telegram. Another Debian virtual machine runs k3s for a Wikipedia live edit stream app. A Raspberry Pi 4 is used for parent-child electronics projects that started with Python and a SunFounder kit, now being restarted in Go. AI helped revive an older Wikipedia edit stream project by adding a user interface and deploying it to k3s with GitOps. The setup does not include a NAS or a full cluster, but it works as a hands-on home lab for learning, monitoring, small apps, and family projects.
The home server setup has Pi-hole on an old PC, one Proxmox VE node, an Nginx reverse proxy LXC inside Proxmox VE, and an Ubuntu VM running Docker. Inside that Docker VM, AdGuard Home and Portainer run as containers. The needed local address records are already configured in Pi-hole. The Nginx reverse proxy has proxy hosts set up with a Let's Encrypt certificate for a public domain. Access to Nginx and AdGuard Home works, so the basic path is working. The problem is that opening the Portainer address, even with the correct port configured, sends the browser to the AdGuard Home page instead. The open question is whether Portainer should be installed somewhere else instead of inside the same Docker system it manages.
Long-term travel in the UK with no permanent home makes it hard to run a self-hosted server from a fixed place. A small portable setup may be possible, but carrying and managing hardware while moving around adds hassle. The main need is storing and playing personal music and audiobooks after canceling Spotify. Movies and TV shows would be useful, but they are not essential. Access needs to work from an Android phone, a Mac, and an iPhone. A cheap and easy cloud server is the most practical option being considered.
A few weeks of running a self-hosted research assistant showed that the goal was to keep work on local hardware, avoid sending data out, and answer questions that need several steps without making up sources. The first setup used one local model with a search tool in a ReAct loop. It was cheap and quick to set up, but it was removed first. Once a question went beyond about two steps, the model filled the context with its own earlier reasoning and then started agreeing with itself. By the third step, it could confidently invent sources. A larger context did not fix the problem; it only delayed it. The setup that stayed used two local models. One model handled research, while a smaller verifier checked each claim against fresh sources. The important rule was to keep the verifier from seeing the researcher model’s reasoning. The verifier only received the claim and had to ground it independently. The setup was modeled after Apodex, which separates the reasoner from the verifier. Its open mini model is described as 35B A3B, with only about 3B active per token, making it a good shape for a verifier that does not need heavy work on every step.
Running OpenClaw around the clock can be done with a Mac mini at home or through a cloud option. A Mac mini gives direct control, better privacy, and no monthly service fee after buying the machine. The tradeoff is that the machine must stay on at home, and the owner has to watch for power, network, updates, and failures. New cloud choices such as Hyperagent make the decision less obvious for someone starting from zero. The real question is whether privacy and control are worth the cost and upkeep of keeping a small server at home.
After a full reformat of an M4 Mac mini, Plex Media Server no longer works the way it did before. The server data was backed up using Plex’s own backup instructions before the reformat, and both local network access and remote access worked well before. After the reformat, remote access will not stay connected; refreshing the setting briefly enables it, but it turns off again after leaving and returning to the page. Before, Google Home router settings did not need a manual port change, but now the connection fails despite several attempts. An open port checker says port 32400 is open. Plex for Android cannot find the server and shows it as offline, and Symfonium for Android also has trouble. On the same Wi-Fi, Plex for iPadOS, Plex Dash, Plexamp, and Plezy still work. The setup is Plex Media Server 1.43.2.10687 on Apple Mac16,10 arm64 with macOS 26.5.1.
UniFi Network Application 10.5.54 adds tools that help people manage and troubleshoot a UniFi network. The new Client Observability feature shows a 24-hour history for each connected device. It brings together connection events, roaming between access points, app usage, and network health in one place. It also shows signal strength, TX retries, latency, and packet loss, which can help explain why one device has slow or unstable Wi-Fi. Safe Ops adds protections meant to reduce outages and keep devices connected during normal network operation. Auto STP Edge automatically marks ports connected to end devices as Edge ports. Link Debounce helps reduce repeated connect-and-disconnect behavior caused by brief interruptions or unstable links, and it requires USW 7.5.4 or newer. Test & Confirm can automatically roll back a configuration change if a device loses connectivity after the change.
cairn manages tasks as Markdown files inside a code repository instead of using a separate tracking service. There is no database, so there is no extra data service to host or back up. Cloning the repository brings the backlog with it, and task changes appear in Git history and pull request diffs like other project files. Each task can include check commands such as `go test ./...` or `pytest && ruff`, so a task can require real verification before it is closed. One Go binary serves the same task list to people through a web UI and to agents through MCP. Agents can claim tasks, send heartbeats, leave notes, run checks, and hand work over for review. Every change is signed by whoever made it, whether that is a person or a specific agent. It can run as a desktop app, browser UI, or headless server on Mac, Windows, and Linux, and it is an early open source 0.1.0 release.
An old HP laptop was being used as a home lab with services such as Jellyfin, Immich, AdGuard, and Grafana. The goal was to learn by running personal infrastructure and getting hands-on practice. The setup was mostly for one person, so it was only checked from time to time, not every day. Then a family member complained that a mobile game had many ads again. The cause was a home lab crash. When the server stopped, AdGuard stopped too, so ad blocking stopped working. A personal learning server can become a real household service once other people depend on it.
The goal is to replace all smart home devices with a setup based on open source tools and self-hosting. The needed devices include a doorbell camera, security cameras, light switches, a garage door opener, voice control, and thermostats. Home Assistant is already running. Some Tasmota and Sonoff smart plugs are already in use, but recent changes in smart home hardware and software have not been closely followed. The main need is a current hardware and software combination that can cover the whole home setup.
HeyForm and Formbricks were tested through their cloud versions first. Formbricks appears to cover the needed survey features. selfh.st also uses Formbricks and is sponsored by Formbricks. The main question is whether Formbricks is a good choice before committing to running it personally. The image mentioned comes from the selfh.st apps tool.
The dorm has open Wi-Fi but no Ethernet port. A TP-Link travel router was set up to give the homelab internet access, but it currently creates a wireless access point with no internet. The setup includes a Raspberry Pi running Pi-hole and Unbound with a 128 GB SSD. A mini Dell PC runs Proxmox, Jellyfin, and other apps. An old Dell tower is used for TrueNAS storage with two 4 TB drives for media. A switch connects all the machines. The goal is to reach the homelab network, filter network traffic through the Raspberry Pi, and download files. The lab was first configured at a family home where Ethernet was available.
In a firsthand setup, copying CR2 camera files to a UNAS2 was extremely slow. Moving 30 files totaling 722 megabytes took 9 minutes and 30 seconds, which works out to about 1.3 megabytes per second. CR2 transfers were repeatedly slow. By contrast, 4K video files sometimes copied at roughly 3 to 4 gigabytes per minute. The experience made the first NAS purchase feel questionable, because an always-on Mac mini with an external drive might have been enough.
The goal is to build a fully separate internet-like lab. Inside that lab, real-style IP ranges can be created and routed without touching the actual internet. The setup would give an OPNsense router a fake outside network, so port forwarding, firewall rules, and WAN-side behavior can be tested safely. It could also be used to restore backups of real internet servers into virtual machines while keeping the same IP addresses and DNS records. That makes it possible to check whether backups work in a realistic recovery situation. Static routes could probably handle the basic routing, but BGP is part of the learning goal. The desired system is an extremely small Linux distro that uses only a few megabytes of RAM and works as a basic internet router without NAT or a firewall.
A first Mac mini setup with a Windows keyboard can make keyboard shortcuts feel unfamiliar right away. This is harder for someone who still uses Linux and Windows at work, because switching habits completely is not realistic. Karabiner and per-app settings can bend macOS shortcuts toward a familiar layout, but too many edge cases and unexpected results can appear. After a full day of adjustment, learning both shortcut systems may feel simpler than forcing macOS to behave like Windows or Linux. The main concerns are how macOS expects app switching to work, whether an Alt+Tab-like habit should be kept, where Control and Command should sit, and how often shortcuts from the wrong system will be pressed by mistake.
A stand-style hub for the Mac mini can add more ports and sometimes space for an SSD enclosure. Many options from Satechi, Hagibis, Amazon, and AliExpress place large USB-A ports on the front. That can make the small, simple Mac mini setup look visually busy and more like an older desktop PC. USB-A still matters for older flash drives and small mouse receivers, but those ports may make more sense on the back. A cleaner front would use USB-C ports and maybe an SD card reader. The cleaner-looking options are rare and usually much more expensive. That raises the question of whether removing front USB-A ports really costs more to build, or whether brands charge extra for a neater design.
On a Mac mini M4, Rclone was used to mount Jottacloud cloud storage so it behaves like a local hard drive. This lets files appear inside a folder without actually being downloaded first. However, when the Infuse media player app tries to access that folder, it returns an access denied error. The goal is to use Jottacloud's unlimited storage to hold a movie collection in the cloud and stream it through Infuse. Setup steps found via Google and AI search were attempted but did not fix the issue.