Skip to main content
  1. Posts/

Self-Hosted Infrastructure from Homelab to Company Part 0

 Author
Author
zeitue
Founder of Zalatek. Software engineer, electrical engineer, system architect. The full inventory is on the About page.
Self-Hosted Infrastructure from Homelab to Company - This article is part of a series.
Part 0: This Article

An overview of the infrastructure in this series

Written in 2023 for Ubuntu Server 22.04 with Docker Compose, Caddy, and FreeIPA. The stack I run has since moved to Fedora with Podman quadlets and Traefik; the series is kept as written.

Introduction
#

This article gives an overview of the architecture of the home lab setup used in this series. It’ll cover building everything up from the hardware to the operating system and then installing the foundation services that tie everything together; it’ll finish with several tutorials about installing individual services. Because the services tutorials are optional, you can choose what services you want in your lab. Additionally, I’ll cover information about alternative services, operating systems, and options that differ from the ones used.

Hardware
#

For the hardware setup, we’ll use standard consumer-grade components in a rack-mounted case with enough resources to run most services. The build will be as budget-friendly as possible and use commonly available parts.

Operating system
#

The operating system will be the current LTS of Ubuntu since it has good community and enterprise support, allowing for general use in the home and enterprise settings.

Software
#

The core software that provides the foundation for all the services will include Docker, Docker-compose, Caddy v2, Cloudflared, Pi-hole, Authentik, and FreeIPA. Docker with Docker-compose will give a simple infrastructure-as-code setup reproducible on other servers and allow for simple .env files to store configurations. Caddy V2 will provide the function of a reverse proxy, with optional Cloudflared making services accessible from outside the local network. FreeIPA and Authentik will provide login and Single Sign On (SSO). Finally, Pi-hole will provide ad blocking and DNS so you can access services with service_name.domain.com instead of an IP address with a port number.

Outcome
#

After the hardware, the operating system, and the foundational software are in place, you can choose all other services depending on what you want to make available in your lab. This setup should be reliable, easy to maintain, and easy to find help online if something goes wrong.

Self-Hosted Infrastructure from Homelab to Company - This article is part of a series.
Part 0: This Article