Review of Running a Home Server with a Mac Mini for 2 Years (1)
Translated by GPT
Review of Running a Home Server with a Mac Mini for 2 Years (1)
There is a saying, “Never trust a computer you can’t throw out a window.” This quote is well-known and often attributed to Steve Wozniak. The Mac Mini home server is indeed a computer you can trust. It allows for worry-free experimentation and embodies the essence of true DIY.
- Cost-effectiveness
The starting price for a Mac Mini is 850,000 KRW. It supports an 8-core CPU, 8GB RAM, and 256GB of storage. For 850,000 KRW, it offers stability, compactness, beauty, and high performance. Unlike Windows laptops, updates can be paused midway. Being Unix-based, its similarity to Linux commands is also an advantage.
On the other hand, AWS is expensive. A single misconfiguration can result in a terrifying bill. It’s not easy to push it to its limits. Even for a side project server, the cost is burdensome.
Compared to AWS, the Mac Mini is a cost-effective server. It has its drawbacks, but none were fatal. Common home server issues include power outages or internet problems. In my experience, new apartments have no power issues except for a biennial electrical inspection (20 minutes). There were no port restrictions on the internet either. I use an ipTIME router and experienced no performance degradation.
It was suitable for running actual production services. It boasts enough memory capacity to run Docker.
- Experience with the Full Deployment Spectrum
One of the advantages of a home server is experiencing the software delivery process, even at the hardware level. You can handle everything from CI/CD setup to SSL application.
In my case, I set up deployment automation with GoCD & GitHub. GoCD handles deployment with Docker, and once the Docker container runs, it automatically sets up a Reverse Proxy and issues a Let’s Encrypt certificate.¹
A home server offers much to learn, not only in development but also in DevOps. Starting from the hardware stage to experience actual service deployment helps in understanding how commercial services are structured.
- Many Deployments at Low Cost
Currently, my server is running 12 containers. The deployment process involves just three steps:
- Register a subdomain
- Write a Docker Compose file
- Connect to the GoCD Git Repo
It’s simple. Once the initial pipeline setup is well-established, you can deploy as much as you want. Most side projects don’t keep servers running due to costs. This often leads to situations where previously developed services can’t be deployed.
With a home server, you can deploy projects without worrying about costs. If you manage the server well to prevent it from shutting down, you can operate multiple services at a low cost. It’s beneficial for portfolio management to include links along with code on GitHub.