Skip to content

Kubernetes stack deployment with Microk8s and ArgoCD

License

Notifications You must be signed in to change notification settings

maxim-mityutko/home-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Infrastructure

k8s GitHub last commit

Notes

The rollout from scratch has not been fully automated yet, and generally requires following the process defined in \readme and \kubernetes\scripts folders for the initial setup.

After the initial steps are complete, deployments are handled via ArgoCD application manifests defined in the kubernetes\argocd.

Hardware:

  • TrueNAS Scale Host: CPU Intel i5-3470 / RAM 24 GB / 2 x SSD 500 GB MIRROR / 3 x HDD 12TB RAIDZ1 / NVIDIA Tesla P4 / Google Coral TPU M.2
    • VM1: RAM 8GB
    • VM2: RAM 6GB
  • (Spare) ProxMox Host: CPU Intel i7-6700 / RAM 16 GB / 1 x NVME 500 GB
    • VM1: RAM 8GB
  • Raspberry Pi 4B 8GB
  • Upcoming: Compute Blade with CM4 8GB and 500 GB NVME x 4

Services

Microk8s

Some services are installed out of the box in Microk8s, refer to kubernetes/scripts/00.0-init.sh

Default

Project Description Docs / Repo Docker / Helm
ArgoCD Declarative GitOps CD for Kubernetes docs
NFS Subdir Provisioner Automatic provisioning of PVs via PVCs repo
Sealed Secrets A Kubernetes controller and tool for one-way encrypted Secrets repo helm
Cert Manager Certificate management for Kubernetes docs helm
Cloudflare DDNS Dynamic DNS implementation for the Cloudflare service repo docker
Homer A dead simple static HOMe for your servER to keep your services on hand from a simple yaml config repo docker
Lighttpd Lightweight HTTP server docker
Omada Controller TP-Link Omada Controller repo docker
MariaDB MariaDB Server is a high performing open source relational database, forked from MySQL repo docker
MariaDB - Adminer Database management in a single PHP file repo docker
PostgreSQL The PostgreSQL object-relational database system provides reliability and data integrity docker
PgVecto-rs - Scalable vector search extension for PostgreSQL
Required by: Immich
repo
docs
docker
Authentik Identity Provider that emphasizes flexibility and versatility docs
repo
helm
Longhorn Longhorn is a lightweight, reliable and easy-to-use distributed block storage system for Kubernetes docs helm
External DNS Configure external DNS servers for Kubernetes Ingresses and Services repo
docs
helm
helm-docs
Blocky Fast and lightweight DNS proxy as ad-blocker for local network repo
docs
docker
Tailscale K8s Operator Secure, remote access to on-premises repo
docs
helm
Redis In-memory database that persists on disk repo helm

Backup

Project Description Docs / Repo Docker / Helm
Borgmatic Exporter Prometheus exporter for Borgmatic seamlessly integrated into official Borgmatic image repo docker
Borgmatic Borgmatic is simple, configuration-driven backup software for servers, workstations and databases repo-docker-borgmatic
repo-borgmatic
docs-borgmatic
docker

Monitoring

Project Description Docs / Repo Docker / Helm
Victoria Metrics Fast, cost-effective monitoring solution and time series database docs / repo helm
Kubernetes Grafana Dashboards repo
Speedtest Tracker Internet performance tracking that runs speedtest against Ookla's Speedtest service docs docker
Exportarr AIO Prometheus Exporter for *arr applications repo docker

Extras

Project Description Docs / Repo Docker / Helm
Apache Guacamole Clientless remote desktop gateway docs docker-guacd
docker-guacamole
Meshcentral Web-based remote monitoring and management web site with Intel AMT support repo
docs
docker
Code Server VS Code in the browser repo
docs
docker
Jupyter with PySpark Python and Spark Jupyter Notebook Stack repo docker
Vaultwarden Password management (alternative Bitwarden server) repo docker
Renovate Universal dependency update tool repo docker
IT Tools Useful tools for developer and people working in IT repo docker
CloudBeaver Cloud Database Manager repo docker
Miniflux Minimalist and opinionated feed reader repo
docs
docker

Smart Home

Project Description Docs / Repo Docker / Helm
Tuya Gateway Lightweight gateway for Tuya / Smartlife repo docker
Home Assistant Central control system for smart home with a focus on local control and privacy docs
repo
docker
Mosquitto An open source MQTT broker docs
repo
docker
Frigate Open source NVR built around real-time AI object detection docs
repo
helm
Zigbee2MQTT Zigbee to MQTT bridge docs
repo
docker
PSA Car Controller Control PSA car with connected_car v4 API repo docker

Privacy

Project Description Docs / Repo Docker / Helm
SearXNG Privacy-respecting, hackable metasearch engine repo
docs
docker
Invidious Invidious is an open source alternative front-end to YouTube repo
docs
docker
Immich High-performance self-hosted solution for backing up, viewing, managing, and sharing photos from your phone or existing galleries repo
docs
helm
Nextcloud Nextcloud file hosting services, similar to Google Drive / Photos repo helm
helm-docs

Media

A lot of general information on the topic: TRaSH Guides

Project Description Docs / Repo Docker / Helm
Jellyfin Jellyfin puts you in control of managing and streaming your media repo docker
Jellyseerr Fork of Overseerr for managing requests for the media library with Jellyfin integration repo docker
Radarr Radarr is a movie collection manager for Usenet and BitTorrent users repo docker
Sonarr Sonarr is a PVR for Usenet and BitTorrent users repo docker
Prowlarr Prowlarr is an indexer manager/proxy repo docker
Readarr Readarr is an ebook and audiobook collection manager for Usenet and BitTorrent users repo docker
Bazarr Bazarr is a companion application to Sonarr and Radarr to manage repo docker
Recyclarr Automatically synchronize recommended settings from the TRaSH guides repo docker
qBittorrent + Vue repo-qbittorrent
repo-vuetorrent
docker
qBit Manage Manage qBittorrent instances with ease repo docker
Unpackerr repo docker
Stash repo
docs
docker
FlareSolverr FlareSolverr is a proxy server to bypass Cloudflare and DDoS-GUARD protection. repo
docs
docker

Plugins and Extras

Project Description Link
Jellyfin Tizen Builds for the Jellyfin Tizen application for the Samsung smart TVs docker-builds
repo-jellyfin-tizen