GithubHelp home page GithubHelp logo

homelab's Introduction

Homelab

My Homelab setup running as a K3S cluster.

Goals

  • GitOps: everything should be deployed and reproducible with Flux
  • Secrets should be safely stored in the repository
  • SSL certificates for all services
  • Monitoring stack with Prometheus and Grafana
  • GPU pass-through for hardware acceleration
  • Expose services to the outside world
  • Monitor all deployed applications
  • Reliable storage
  • Monitoring alerts

Repository structure

The repository structure follows the Flux recommendations, but I've also added an extra layer to provide a better separation of concerns. The idea is to have the following dependency graph

              ┌───►Apps
Infrastructure│
              └───►Core Services

Infrastructure contains controllers and its configurations that do not expose any external services. They provide the fundamental resources to other services such as SSL certificates, secrets management, storage and so on.

Core services are composed of the administrative services exposed from the cluster. This includes any administrative dashboards and monitoring stacks.

Apps are the user-facing services provided by the cluster.

TODO

General infrastructure

Flux

  • GitOps setup with Flux
  • Manifests validation in CI
  • Ensure bootstrap order is correct
  • Flux UI

Secrets

  • Secrets management

SSL Certificates

  • SSL certificates
  • Secrets replication for certificates
  • SSL certificate prod
  • Monitoring stack
  • Structure the repository
  • Persist Prometheus data

Expose cluster

  • Research Cloudflare tunnel vs VPN
  • Implement solution with Tailscale

Storage

  • Figure out how to do storage
  • Longhorn basic setup
  • Longhorn UI
  • Multiple disks on longhorn
  • Monitor longhorn with prometheus

How to migrate data to longhorn volumes

General

https://www.youtube.com/watch?v=0CV__VnbYCc&t=205s

Monitoring

  • kube-prometheus-stack deploy
  • Alertmanager setup
  • Provision strava datasource
  • Provision strava dashboard
  • Multiple users on strava dashboard
  • Provision custom Kubernetes dashboard
  • Loki setup
  • Monitor loki and promtail

Services

Jellyfin

  • Deploy
  • Gpu acceleration
  • Media folder on dedicated drive

Homepage

  • Deploy
  • Settings
  • Annotations

Prowlarr

  • Deploy
  • Monitoring

https://github.com/onedr0p/exportarr

QbitTorrent

Radarr

  • Deploy
  • Monitoring

Sonarr

  • Deploy
  • Monitoring

Bazarr

  • Deploy
  • Monitoring

Readarr

  • Deploy
  • Monitoring

Mealie

  • Deploy
  • Monitoring

Authentik

  • Deploy
  • Monitoring

NextCloud

  • Deploy
  • Monitoring

Immich

  • Deploy
  • Monitoring

homelab's People

Contributors

luissimas avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.