Skip to content

Quick Start

Prerequisites

  • kubectl (1.19+)
  • kustomize (4.0+)
  • git
  • Docker (for building images)

Clone the Repository

git clone https://fit.serlo.lu/monty/homelab.git
cd homelab

Repository Structure

apps/
├── base/           # Base kustomization for each app
│   ├── mkdocs/
│   ├── pihole/
│   ├── immich/
│   └── ...
└── production/     # Production overlays
infrastructure/
├── base/           # Base infrastructure components
│   ├── traefik-edge/
│   ├── cert-manager/
│   ├── prometheus/
│   └── ...
└── production/     # Production patches & overrides
clusters/
├── production/     # Production cluster (Flux)
├── local/          # Local dev cluster
└── k3s-config/     # k3s-specific configuration

Building Manifests Locally

View what will be deployed

# Check a single app
kustomize build apps/base/mkdocs

# Check production overrides
kustomize build apps/production

Apply to cluster

# Apply infrastructure
kubectl apply -k infrastructure/production

# Apply applications
kubectl apply -k apps/production

Using MkDocs locally

# Install dependencies
pip install -r requirements.txt

# Start development server
mkdocs serve

# Open http://localhost:8000

Tip

The development server watches for file changes and auto-reloads.

Next Steps

  • 📖 Read the Architecture guide
  • 🚀 Deploy to your cluster: see individual app docs
  • 🔧 Customize for your environment: overlay patterns in apps/production/ and infrastructure/production/