Table of Contents
helm repo add homeylab https://homeylab.github.io/helm-charts/
helm repo update homeylab
helm search repo homeylab
An OCI supported registry is available for all charts, example using unpoller chart.
A collection of helm charts that I created for some apps that either do not have an existing chart or the chart has grown stale.
For customizations, it is recommended to use your own values file and specify it when using helm with the -f
flag. See Recommendations section below for more details.
Apps available | Application | Description |
---|---|---|
unpoller | unpoller is a Prometheus exporter that connects to an Unifi Controller(s) and scrapes metrics from your network and devices. | |
bookstack | bookstack is an app for self and/or collaborated documentation similar to confluence. This chart includes an option to install mariadb alongside it. | |
nut_exporter | nut_exporter is a Prometheus exporter that connects to a NUT server(s) and scrapes UPS backup metrics. | |
exportarr | exportarr is a Prometheus exporter that connects to Arr applications and scrapes metrics. This chart has an option to additionally deploy qbittorrent-exporter and tdarr-exporter charts. |
|
qbittorrent-exporter | qbittorrent-exporter is a Prometheus exporter that connects to a qbittorrent instance and scrapes metrics. | |
tdarr-exporter | tdarr-exporter is a Prometheus exporter that connects to a Tdarr instance and scrapes general statistics for nodes and their running worker processes including transcode and health check jobs. | |
pihole-exporter | pihole-exporter is a Prometheus exporter that connects to one or more Pi-hole instances and scrapes metrics. | |
v-rising | A v-rising dedicated server that allows a user host their own server for the game v-rising. |
Use a values file to make changes and save your custom configuration. When using upstream helm charts and specifying your own values file, variables are handled like so:
General recommendation is only specify in your own values file what you are customizing or overriding. You may also include variables that are defaulted to a specific value that you need to stay constant, just in case the upstream helm chart changes. This allows you to keep your files minimal and easy to upgrade when values change since your scope is smaller.
Use the -f
flag like so, example
helm install -f my-values.yaml unpoller homeylab/unpoller -n unpoller --create-namespace
Use chart versioning when installing/upgrading charts. This can help prevent unexpected changes/issues from occuring if the upstream chart has been updated in a breaking manner. Example
# Get version to install
helm search repo homeylab/unpoller
NAME CHART VERSION APP VERSION DESCRIPTION
homeylab/unpoller 1.0.0 2.8.1 A Helm chart for Kubernetes
# Install a specific version
helm install -f my-values.yaml unpoller homeylab/unpoller -n unpoller --create-namespace --version 1.0.0
All charts are currently tested on:
v1.29.4+k3s1
v3.15.1
WIP Section
To contribute, there are a many ways to do testing and many are valid. I am using Dev Containers extension from VScode to set up a consistent environment across my devices.
To use the same Dev Containers, ensure you have the extension enabled and add a copy of your kubectl config in .devcontainer/
. Name it kube_config
and it will be ignored by git (in .gitignore) and will be used during Dev Container build.
The provided makefile can then be used for testing via helm and chart-testing.
Example:
# Use `app=` for targeting a chart
# below runs chart-testing for the specified chart/app
make test app=bookstack