Skip to content

lukashankeln/Homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homelab

This repository contains the applications in my private homeserver infrastructure.

All applications described in this repository are managed via ArgoCD.

This application is used as the entry application. From here the applications in this Folder are created, which contain the applications to be hosted.

ArgoCD - Installation

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/core-install.yaml

Applications

Prerequisites

kubectl create secret generic cloudflare-api-key-secret -n cert-manager --from-literal=api-key="<your_cloudflare_secret>"

A Docker Registry with included UI used for management.

No persistent Volumes are used at this point, because every image saved in this registry can be rebuild from their respective source if needed.

MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.

For reference see here.

nginx is used as the ingress controller.

Seq is the self-hosted search, analysis, and alerting server built for structured log data.

For reference see here.

Skooner is an open source Kubernetes dashboard that helps to understand & manage your cluster. Via the dashboard, you can manage your cluster's components and gain an in-depth look at its health and viability.

For reference see here.

PostgreSQL is a powerful, open source object-relational database.

For reference see here.

SetUp

TODO: Move this to a secret

apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  namespace: postgres
  labels:
    app: postgres
data:
  POSTGRES_USER: <user>
  POSTGRES_PASSWORD: <password>