- Notifications
You must be signed in to change notification settings - Fork25
fabito/htk8s
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is my currentHTPC setup. It runs onk3s - a lightweight and easy to install Kubernetes distribution.It includes the following applications:
- Sonarr for tv shows
- Radarr for movies
- Bazarr for subtitles
- Transmission for torrents
- Jackett for torrent tracker searching
- Emby
Applications state (settings / db) and media files are stored in a shared volume of typehostPath
. It does not use PVC and currently only works if the wholehtpc
namespace is deployed in the same node.
# for x86_64kubectl apply -f https://raw.githubusercontent.com/fabito/htk8s/v0.1/install_x86_64.yaml# for raspberry pi (ARM)kubectl apply -f https://raw.githubusercontent.com/fabito/htk8s/v0.1/install_armhf.yaml
# x86_64 onlykubectl apply -f https://raw.githubusercontent.com/fabito/htk8s/v0.1/install_argocd.yaml
This alternate manifest will installArgo CD along with thehtpc application. Then it will monitor this repo for changes and apply them to the cluster accordingly (more specifically theoverlays/x86
overlay).
You can access the ArgoCD UI at:https://localhost/argocd.
All resources are created in thehtpc
namespace. So if you run:
k3s kubectl get all -n htpc
You should get something similar to:
NAME READY STATUS RESTARTS AGEpod/bazarr-795f88c5c9-w75l7 1/1 Running 0 24hpod/emby-6f457df664-fqbmc 1/1 Running 0 24hpod/jackett-6bcf6cd8d6-lrh6j 1/1 Running 0 24hpod/radarr-5c965c7678-zt8sq 1/1 Running 0 24hpod/sonarr-b65c8956-mxng4 1/1 Running 0 24hpod/transmission-5f7fdc6cb5-nrtbb 1/1 Running 0 24hNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEservice/bazarr ClusterIP 10.43.43.224<none> 6767/TCP 24hservice/emby ClusterIP 10.43.212.198<none> 8096/TCP 24hservice/jackett ClusterIP 10.43.104.233<none> 9117/TCP 24hservice/radarr ClusterIP 10.43.141.101<none> 7878/TCP 24hservice/sonarr ClusterIP 10.43.35.98<none> 8989/TCP 24hservice/transmission ClusterIP 10.43.184.198<none> 9091/TCP 24hNAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/bazarr 1/1 1 1 24hdeployment.apps/emby 1/1 1 1 24hdeployment.apps/jackett 1/1 1 1 24hdeployment.apps/radarr 1/1 1 1 24hdeployment.apps/sonarr 1/1 1 1 24hdeployment.apps/transmission 1/1 1 1 24hNAME DESIRED CURRENT READY AGEreplicaset.apps/bazarr-795f88c5c9 1 1 1 24hreplicaset.apps/emby-6f457df664 1 1 1 24hreplicaset.apps/jackett-6bcf6cd8d6 1 1 1 24hreplicaset.apps/radarr-5c965c7678 1 1 1 24hreplicaset.apps/sonarr-b65c8956 1 1 1 24hreplicaset.apps/transmission-5f7fdc6cb5 1 1 1 24h
You should also be able to reach each component's UI using the links below. Don't forget to replacelocalhost
with the IP or the server name running k3s.
App | URI |
---|---|
radarr | http://localhost/radarr |
sonarr | http://localhost/sonarr |
bazarr | http://localhost/bazarr |
jacket | http://localhost/jackett |
transmission | http://localhost/transmission |
emby | http://localhost/ |
Check theingress-route.yaml for more details.
Each module except for Emby is configured to respond on a custom basepath (check the init containers logic for more details).
It usesLinuxServers images.
It uses ahostPath
volume to store configuration and media files. It defaults to the/opt/htpc
directory
/opt/htpc├── bazarr├── downloads├── emby├── jackett├── media│ ├── movies│ └── tv├── radarr├── sonarr└── transmission
About
HTPC services running on Kubernetes