Setup, power and thermals, and software tips for running a Mac mini as a home server or self-hosting box.
The goal is to let the owner and family reach files on a home server PC from phones, Windows PCs, and Macs, even when they are away from home. The wanted experience is close to Google Drive: drag files in to upload them, and download files without complicated steps. Several possible tools have already been found and tried, but they have not worked reliably. The needed solution should be simple enough for a beginner to set up and use. Apollo is already installed and works for local game streaming, but it is unclear whether it can be used online for this file access need.
A cybersecurity student built a small homelab to practice networking and documentation. Most of the setup came from equipment already available at home, connected piece by piece. An old HP laptop with a broken startup was wiped and reused with Linux Mint and CasaOS, and it still works despite being about 10 years old. The main costs were about $180 for a Raspberry Pi setup, about $40 for an Ethernet switch, and about $35 for a shelving unit. The next goal is to expand the setup, especially by building a music library that can be shared with both Macs and Android devices. An AI-made network map turned out to be wrong, so the map was updated and Draw.io will be used for proper documentation.
A Mac mini M4 needs more USB-C ports. Many Mac mini M4 hubs include several extra port types that are not needed here. The only real need is more USB-C connections. The hub does not have to be the stand-style type that sits under the Mac mini. Any reliable USB-C hub that works well with the Mac mini M4 would fit the need. No specific product, port count, or speed requirement is given.
Bazarr-sync 0.7 is a CLI tool for making subtitle syncing in Bazarr less tedious. Large movie and TV libraries can have hundreds of files, so keeping many subtitles matched and organized becomes repetitive work. This version can sync subtitles for one chosen language. It also improves terminal compatibility and fixes a leak in HTTP requests that could cause crashes. Interrupted sync jobs can now resume instead of starting over. A Docker container is available, which makes it easier to run on a server. This is the first update in almost a year, and some parts of the update used AI-assisted coding but were reviewed.
A home server diagram can become outdated as soon as a device or service changes. This setup keeps the diagram as a `.d2` text file inside a repository instead of maintaining it by hand as an image. When that file changes and is pushed to GitHub, GitHub Actions automatically rebuilds the diagram. The workflow turns the text file into an SVG using the ELK layout engine, converts that into a PNG, and commits the updated image back to the repository. The image shown in the README is generated from the same source file, so the visible diagram is less likely to fall out of sync. Icons for tools such as Proxmox, Talos, ArgoCD, Cilium, and Falco are not stored in the repository; they are pulled from public icon sources during the build and embedded into the SVG. The public example keeps the `.d2` source under `docs/diagrams/` and the automation file at `.github/workflows/render-diagram.yaml`.
GnuCash has been enough for tracking everyday spending by hand, even though it feels somewhat clunky. That setup may not work well once finances are combined with a partner. The need is a self-hosted finance tool or workflow that can support more than one person. The main problem is moving from a solo, manual money-tracking routine to a shared system for household finances.
Immich did not install smoothly through Synology’s container manager, so a separate small server now looks more useful and easier to grow over time. The plan is to buy a mini PC, install Proxmox, create one virtual machine, install Linux and Docker inside it, and run Immich in a container. Later, Plex and Home Assistant could also move into containers, with room to add a web server or other services. Proxmox is attractive mainly because it can make backups easier. Starting with one virtual machine feels enough because these services are not expected to need heavy resources at first. If resource control becomes important later, more virtual machines can be added. The main question is whether this setup has clear weak points, beginner traps, or better alternatives.
After Copymethat moved to monthly fees, Tandoor became an easy self-hosted replacement to set up. The harder part is deciding how recipes should be written and organized inside the app. Tandoor seems designed to connect each cooking step with the ingredients used in that step. That can make Step 1 appear awkwardly beside the ingredient list instead of placing the instructions clearly below it. Putting the whole recipe into Step 1 keeps everything together, but it works against the app’s intended structure. Many cookbooks and recipe blogs use a simpler layout: all ingredients first, then all instructions underneath. Tandoor’s recipe importer also appears to organize imported recipes closer to that familiar ingredient-list style than to strict step-by-step ingredient matching.
A small Dell OptiPlex Micro is being planned as a Proxmox VE home server. The machine has an i5-12500T processor, 32GB of memory, and a 512GB SSD, with a later move to a 2TB SSD in mind. OPNsense would handle firewall and router duties, and an 8-port managed switch would support 4 to 5 VLANs. Planned services include Home Assistant, Jellyfin, AdGuard Home, qBittorrent, Immich, Uptime Kuma, Sonarr, Radarr, Bazarr, Overseerr, and Git for keeping configuration files under version control. The current layout puts OPNsense, Home Assistant, and a Docker host in separate VMs, places AdGuard Home in LXC, and runs most other apps inside the Docker VM. The main question is how to avoid making the setup too complicated early while still keeping it easy to grow, migrate, and restore later. There is also a choice between running Gitea locally or using GitHub for configuration tracking.
Mac mini stock appears limited, with even refurbished or used 256GB models listed above $850. The target is a refurbished 512GB model for about $800. The practical choice is whether to wait for a possible new shipment next week or buy now because prices and availability may get worse.
Based on firsthand use, a 16-inch MacBook M4 Pro with 48 GB of memory and 512 GB of storage has been the main computer for about a year. The machine works very well, but carrying it around has become tiring. It is still in very good condition, with the original charger, sealed cable, and box, so it may sell for about $2,300, roughly the same price paid during a MicroCenter sale last year. A refurbished Mac mini M4 Pro with 48 GB of memory and 2 TB of storage was bought from a restock for about the same price. The plan is to use the Mac mini as the main computer, run some AI work on it, and possibly use it as a home server. A mostly unused 13-inch M4 MacBook Air is available for remote access when working away from the desk, in bed, or upstairs. The current MacBook Pro is usually docked to three monitors, but it still gets used directly while traveling or working from a cafe. The main concern is regretting the loss of the 16-inch built-in screen.
A Kubernetes 1.36 cluster is running on Talos Linux 1.13, with Alloy collecting Kubernetes pod logs and sending them to Loki. The setup works for a short time after deployment, then one Loki write component fails. The failure happens when Loki tries to save log chunks into an S3 storage backend, and Minio rejects the write because the object name contains unsupported characters. The error includes `XMinioInvalidObjectName`, a failed `PutObject` request, and HTTP status code 400. The log labels include a value like `flux-system/flux-operator-...:manager`, which contains slashes and a colon. Minio is installed on a Windows file server, and the same S3 storage works for other tasks, but not for this Loki log-writing path. The Alloy setup was changed to rewrite the `instance` value so it should not include colons or slashes, but the issue is not fully resolved in the provided details.
A few datacenter racks are being shut down, and the remaining gear can be taken before it goes to electronic waste. The available equipment includes a very large amount of storage, likely several petabytes of hard drives, plus U.2 drives and SAS SSDs. Most of the servers are Dell machines, which may be hard to reuse outside their original setup. Some systems may contain Milan Epyc or Cascade Lake server chips, which could still be worth checking. Memory is also a high-priority item. A previous cleanup produced three new-in-box 5000VA UPS units, so backup power gear may also be valuable. Top-of-rack switches and 25 gigabit or faster network cards are possible targets, but car space and pickup time are limited.
A 12TB Western Digital hard drive has missing pins on its data port. A wire was soldered to the damaged area, and that workaround has worked for years. The goal is to use the drive inside a server, but not with a fragile improvised connection. The practical question is whether the PCB from an 8TB Western Digital drive can be swapped onto the 12TB drive to make the connection solid again.
An old iPad will no longer be supported after iOS 16.x. The main concern is what losing security updates really means and how an outdated device could be attacked. The intended use is simple: reading comics from a self-hosted service at home. It may also be used sometimes through a phone’s personal hotspot. Tailscale is being considered as a way to reach the home service without exposing the local self-hosted network directly to the wider internet.
A local way is needed to record server problems, the steps taken to solve them, and the final fixes without depending on the internet. A dedicated tool would work, but a simple writing format could also be enough. The main need is to make each issue easy to search and find again later.
The r/selfhosted community is facing calls to ban low-effort project posts that appear to rely heavily on artificial intelligence. The concern is that some posts are marked as not being about artificial intelligence even when the project or write-up clearly depends on it. These projects often claim that the structure was planned by hand and that artificial intelligence only helped with coding, but the complaint is that this is usually not believable. Some of the projects are also closed source, ask the community for free testers, and do not give much useful value back. The core concern is trust: people looking for tools to run on their own servers may be flooded with polished but weak or dishonest project pitches.
Home lab network setups often split duties across MikroTik, UniFi, OPNsense, and similar gear because each handles different jobs better. One setup uses MikroTik for the main router, switching, and a 5G modem, while UniFi handles PoE switches and wireless APs. MikroTik is favored for detailed routing rules, such as sending some devices through a home internet line and others through a 5G connection. UniFi is seen as less flexible for that kind of traffic control. OPNsense boxes can use more power than a MikroTik CCR2004, at least in some 2024 hardware choices, which matters when the network runs all day. UniFi still has a place because its 2.5G PoE gear and Wi-Fi radios can be better than MikroTik’s options. The broader choice is between MikroTik, UniFi, OPNsense, Omada, Alta Labs, and other home network systems.
Home servers can run into trouble when IPv6 is enabled and the assigned prefix changes. Many ISPs do not promise a fixed IPv6 prefix for residential internet. When the prefix changes, media routing in an app, Docker daemon settings, scripts, and the wider network setup can all stop matching the real address. One possible workaround is to use IPv6 only for media routing and run a manager that regularly checks and corrects the settings. That still does not remove the core problem, because Docker and other automation can break again whenever the prefix changes.
Youtarr 1.71.0 adds playlist support to a self-hosted YouTube DVR and downloader. Youtarr was built for keeping children away from direct YouTube browsing while still making selected channel videos available in Plex. It can also run by itself as a local YouTube archive with a web UI. It supports Plex, Jellyfin, Emby, and Kodi-style metadata and output. YouTube playlists can now be subscribed to and kept in sync over time. Youtarr can create real playlists inside Plex, Jellyfin, and Emby, and it also creates one .m3u file for each playlist. Playlist videos still live in the normal per-channel folders, so the same video does not need to be stored twice. The media server still receives the playlist order and grouping.
A planned self-built home server became much less attractive after parts prices rose sharply. The same parts cost €800 in November 2025, €1,200 in December, and about €1,800 now. That setup only had 16GB of memory, no graphics card, and was not strong enough for running local large language models. In March 2026, a used Mac Studio M1 Max with 64GB of memory and 4TB of storage was bought for €1,700 and used as the home server instead. A power meter measured it for 16 days. It used about 8 watts when no inference work was running, and averaged 11.6 watts in real use. During that period, 25 Docker containers stayed on all the time, including Immich, Paperless-ngx, Matrix, Synapse, Caddy, AdGuard, Forgejo, Open WebUI, and Whisper. The same machine was also used as a workstation and for benchmark runs during the test period.
Running Debian directly on a server can create a need for a Windows DrivePool-like feature. The desired setup is storage pooling with per-folder duplication, so only selected important folders keep automatic extra copies. The key requirement is real-time folder duplication, where changes are copied right away. mergerfs.dup appears to be the closest Linux option mentioned, but it does not work in real time, so it may not fully replace the DrivePool experience.
Radarr, Sonarr, Lidarr, Prowlarr, Bazarr, and similar arr tools can make a home media server much easier to manage. They help with finding, organizing, and connecting media workflows across movies, shows, music, subtitles, and search sources. The tools now have strong interfaces, useful integrations, and a large support community with guides and updated wikis. When paired with Jellyfin and a decent NAS, the setup can feel close to a commercial streaming service for daily use. The main difference is control: the media library stays under the owner’s control instead of being tied to a streaming company. One weak area remains music through Soulseek. Soulseek is useful for obscure releases, lossless music files, and material that may not appear on Usenet or public torrent sources, but its integration with the wider arr setup is still messy.
A free custom panel generator is available for 10-inch mini racks. One panel can combine several device openings, and each opening can optionally have a cage behind it to hold the gear in place. It can also create hidden bays and lipped bays so devices sit more neatly in the panel. Vent holes can be made as slots, hex patterns, or louvres. Panel height can be set in 0.5U steps. The design follows the common 10-inch mini-rack layout, using geerlingguy mini-rack spacing and M6 screws. It was fit-tested in a DeskPi RackMate, and the mounting holes are slotted so the panel can still bolt in cleanly if a rack is slightly off. A matching blanking plate and vent plate are also available.
Paperless document management on a Mac can feel too heavy when it requires paperless-ngx, a Docker container, or a self-hosted server just to file personal invoices. This macOS app runs as a native Swift/SwiftUI app on macOS 14 or later, with no Docker, no server, and no browser tab. It reads text from documents using Apple’s Vision framework for OCR. Its AI features can suggest a title, tags, and document type, but the user chooses the mode. Manual mode uses no AI, on-device mode uses Apple Foundation Models so the work stays on the Mac, and Claude API mode uses the cloud for stronger results. Keyword-based filing suggestions recommend a destination folder when documents match certain words, but nothing is moved automatically. The design keeps the user in control by requiring confirmation before anything is filed. The app also includes links between related documents.
An MLLSE G2 Pro mini PC is being set up as a small home server. The goal is to run basic self-hosted services such as Pi-hole, Jellyfin, and the arr stack, then see whether this level of hardware is enough before possibly moving later to a stronger mini PC or a used desktop. The extra storage will mainly hold media files for Jellyfin, and the machine is expected to stay on all day and night. The storage choices under consideration are a 2TB or 4TB WD Elements or Seagate Expansion portable external drive, a 4TB Seagate Expansion Desktop drive, or a 3.5-inch SATA hard drive connected through a USB docking station. The mini PC only has three USB 3.0 ports, so the connection method matters. The main question is whether a basic hard drive such as a Barracuda is good enough for a simple media server, or whether it is worth paying more for a NAS/CMR drive such as SkyHawk, IronWolf, WD Red, or WD Purple even when it is attached over USB.
A home server running services such as Immich, Nextcloud, Jellyfin, Radarr, Navidrome, Vaultwarden, Dawarich, and Paperless-ngx can quickly become a group of separate apps. Current dashboards mostly show service links, status numbers, and queue information. The missing piece is a personal landing page that shows actual daily content: recent photo thumbnails from Immich, recent files from Nextcloud, newly added movies or shows from Jellyfin and Radarr, recent places from Dawarich, and quick links to everyday services. Homepage, Homarr, and Glance already have useful widgets, but they are mostly built around infrastructure and counts rather than the content itself. For example, Immich support tends to show a photo count instead of recent pictures, and Dawarich support is limited or missing. Glance custom API widgets may make an Immich thumbnail view possible, but this is still closer to a workaround than a finished personal activity home.
The desired music server needs to run in Docker and play FLAC music files on an iPhone at high quality. The key requirement is either no equalizer or an ordinary one, plus support for sending 192k 24bit audio through an iPhone-connected DAC and earphones without unwanted changes. Navidrome works well enough as a server, but its iPhone apps either do not handle DAC passthrough properly or have equalizer behavior that makes bass and impact feel weak. The needed features are iPhone background play, iPhone DAC support, 192k 24bit passthrough, and an average equalizer. Neutron on iPhone has also been tried, but it feels clunky, SMB fails, and there are too many settings. A non-native app would be acceptable if it meets the audio needs.
A home setup near large stores and public service buildings can access a 2Gbps business internet line. It also has a 1Gbps fiber line for normal home use and a separate 1Gbps coax line for a side project. Even with these fast lines, about half of the equipment can only handle up to 1Gbps, so faster internet may not always be useful. Speeds above 1Gbps make the most sense for heavy downloads, but a download can still be limited by the speed of the server sending the file. Moving from 1Gbps to 2.5Gbps network gear is not too expensive, but 10Gbps gear costs much more. An 8Gbps business internet offer is available even in a small town of about 7,000 people with little industry.
A home server setup started with an i5-9500 Optiplex desktop, 32 GB of memory, and a 1 TB hard drive used for both a media server and a game server. The machine worked well, but the 1 TB storage limit became hard to live with. Searching used marketplaces for hard drives brought many bad options, including very old drives sold at high prices and sellers asking for outside payments without a public meetup. A nearly unused NAS was later checked in person and bought with a Jonsbo N3 case, CWWK Ryzen 7 8845HS ITX motherboard, 16 GB DDR5 memory, three 10 TB WD Red Plus drives, three 4 TB WD Red Plus drives, one 4 TB HGST Ultrastar drive, a 250 GB WD Red M.2 boot drive, a 500 GB WD 2.5-inch SSD, and TrueNAS Core. The NAS cost $1,500. For another $100, it also came with a Cyberpower CP1500AVRLCD3 UPS and a Tenda 10-port 2.5 Gb switch. The main practical question is how to pool drives with different sizes so the storage is useful and reliable.