~/homelab

Building a homelab with a Mac mini M4

This homelab started with a simple idea: use a Mac mini M4 as a small, quiet and efficient server for development and self-hosted services.

The machine has 24 GB of memory and runs the container infrastructure using Docker.

The architecture

The current stack includes:

  • Docker
  • Caddy
  • Cloudflare Tunnel
  • Tailscale
  • Homepage
  • Uptime Kuma
  • Portainer
  • Glances

Public services are exposed through Cloudflare Tunnel instead of opening inbound ports on the network.

Private administration services remain accessible through Tailscale.

Separating infrastructure and applications

The homelab uses separate Docker networks.

homelab is used by infrastructure services.

production is used by applications intended to run as production services.

This website is the first application deployed on the production network.

Development environment

A separate PHP 7.4 environment provides compatibility with legacy applications.

It includes:

  • Apache
  • PHP 7.4
  • MariaDB
  • phpMyAdmin

Development applications remain isolated from production services.

What’s next?

The idea is not to build the largest homelab possible.

The goal is to have a small infrastructure where I can experiment, deploy projects and document what I learn along the way.