Repo for k8s-mediaserver helm chart, backing k8s-mediaserver-operator
Config path | Meaning | Default |
---|---|---|
general.ingress_host | The hostname to use in ingress definition, this will be the hostname where the applications will be exposed | k8s-mediaserver.k8s.test |
general.plex_ingress_host | The hostname to use for PLEX as it must be exposed on a / dedicated path | k8s-plex.k8s.test |
general.jellyfin_ingress_host | The hostname to use for JellyFin as it must be exposed on a / dedicated path | k8s-jelly.k8s.test |
general.image_tag | The name of the image tag (arm32v7-latest, arm64v8-latest, development) | latest |
general.pgid | The GID for the process | 1000 |
general.puid | The UID for the process | 1000 |
general.nodeSelector | Default Node Selector for all the pods. Per-service nodeSelectors are merged against this. | {} |
general.storage.customVolume | Flag if you want to supply your own volume and not use a PVC | false |
general.storage.pvcName | Name of the persistenVolumeClaim configured in deployments | mediaserver-pvc |
general.storage.accessMode | Access mode for mediaserver PVC in case of single nodes | ReadWriteMany |
general.storage.pvcStorageClass | Specifies a storageClass for the PVC | "" |
general.storage.size | Size of the persistenVolume | 50Gi |
general.storage.subPaths.tv | Default subpath for tv series folder on used storage | media/tv |
general.storage.subPaths.movies | Default subpath for movies folder on used storage | media/movies |
general.storage.subPaths.downloads | Default root path for downloads for both sabnzbd and transmission on used storage | downloads |
general.storage.subPaths.transmission | Default subpath for transmission downloads on used storage | general.storage.subPaths.downloads/transmission |
general.storage.subPaths.sabnzbd | Default subpath for sabnzbd downloads on used storage | general.storage.subPaths.downloads/sabnzbd |
general.storage.subPaths.config | Default subpath for all config files on used storage | config |
general.storage.volumes | Supply custom volume to be mounted for all services | {} |
general.ingress.ingressClassName | Reference an IngressClass resource that contains additional Ingress configuration | "" |
Config path | Meaning | Default |
---|---|---|
plex.enabled | Flag if you want to enable Plex | true |
plex.claim | IMPORTANT Token from your account, needed to claim the server | CHANGEME |
plex.replicaCount | Number of replicas serving Plex | 1 |
plex.container.nodeSelector | Node Selector for the Plex pods | {} |
plex.container.port | The port in use by the container | 32400 |
plex.container.image | The image used by the container | docker.io/linuxserver/plex |
plex.container.tag | The tag used by the container | null |
plex.service.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) | ClusterIP |
plex.service.port | The port assigned to the service | 32400 |
plex.service.nodePort | In case of service.type NodePort, the nodePort to use | "" |
plex.service.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
plex.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
plex.ingress.enabled | If true, creates the ingress resource for the application | true |
plex.ingress.annotations | Additional field for annotations, if needed | {} |
plex.ingress.path | The path where the application is exposed | /plex |
plex.ingress.tls.enabled | If true, tls is enabled | false |
plex.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
plex.resources | Limits and Requests for the container | {} |
plex.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
jellyfin.enabled | Flag if you want to enable Jellyfin | true |
jellyfin.replicaCount | Number of replicas serving Jellyfin | 1 |
jellyfin.container.nodeSelector | Node Selector for the Jellyfin pods | {} |
jellyfin.container.port | The port in use by the container | 8096 |
jellyfin.container.image | The image used by the container | docker.io/linuxserver/jellyfin |
jellyfin.container.tag | The tag used by the container | null |
jellyfin.service.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) | ClusterIP |
jellyfin.service.port | The port assigned to the service | 8096 |
jellyfin.service.nodePort | In case of service.type NodePort, the nodePort to use | "" |
jellyfin.service.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
jellyfin.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
jellyfin.ingress.enabled | If true, creates the ingress resource for the application | true |
jellyfin.ingress.annotations | Additional field for annotations, if needed | {} |
jellyfin.ingress.path | The path where the application is exposed | /jellyfin |
jellyfin.ingress.tls.enabled | If true, tls is enabled | false |
jellyfin.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
jellyfin.resources | Limits and Requests for the container | {} |
jellyfin.volume | If set, Jellyfin will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
sonarr.enabled | Flag if you want to enable Sonarr | true |
sonarr.container.port | The port in use by the container | 8989 |
sonarr.container.nodeSelector | Node Selector for the Sonarr pods | {} |
sonarr.container.image | The image used by the container | docker.io/linuxserver/sonarr |
sonarr.container.tag | The tag used by the container | null |
sonarr.service.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) | ClusterIP |
sonarr.service.port | The port assigned to the service | 8989 |
sonarr.service.nodePort | In case of service.type NodePort, the nodePort to use | "" |
sonarr.service.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
sonarr.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
sonarr.ingress.enabled | If true, creates the ingress resource for the application | true |
sonarr.ingress.annotations | Additional field for annotations, if needed | {} |
sonarr.ingress.path | The path where the application is exposed | /sonarr |
sonarr.ingress.tls.enabled | If true, tls is enabled | false |
sonarr.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
sonarr.resources | Limits and Requests for the container | {} |
sonarr.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
radarr.enabled | Flag if you want to enable Radarr | true |
radarr.container.port | The port in use by the container | 7878 |
radarr.container.nodeSelector | Node Selector for the Radarr pods | {} |
radarr.container.image | The image used by the container | docker.io/linuxserver/radarr |
radarr.container.tag | The tag used by the container | null |
radarr.service.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) | ClusterIP |
radarr.service.port | The port assigned to the service | 7878 |
radarr.service.nodePort | In case of service.type NodePort, the nodePort to use | "" |
radarr.service.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
radarr.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
radarr.ingress.enabled | If true, creates the ingress resource for the application | true |
radarr.ingress.annotations | Additional field for annotations, if needed | {} |
radarr.ingress.path | The path where the application is exposed | /radarr |
radarr.ingress.tls.enabled | If true, tls is enabled | false |
radarr.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
radarr.resources | Limits and Requests for the container | {} |
radarr.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
jackett.enabled | Flag if you want to enable Jackett | true |
jackett.container.port | The port in use by the container | 9117 |
jackett.container.nodeSelector | Node Selector for the Jackett pods | {} |
jackett.container.image | The image used by the container | docker.io/linuxserver/jackett |
jackett.container.tag | The tag used by the container | null |
jackett.service.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) | ClusterIP |
jackett.service.port | The port assigned to the service | 9117 |
jackett.service.nodePort | In case of service.type NodePort, the nodePort to use | "" |
jackett.service.extraLBService | If true, it creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
jackett.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
jackett.ingress.enabled | If true, creates the ingress resource for the application | true |
jackett.ingress.annotations | Additional field for annotations, if needed | {} |
jackett.ingress.path | The path where the application is exposed | /jackett |
jackett.ingress.tls.enabled | If true, tls is enabled | false |
jackett.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
jackett.resources | Limits and Requests for the container | {} |
jackett.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
prowlarr.enabled | Flag if you want to enable Prowlarr | true |
prowlarr.container.port | The port in use by the container | 9117 |
prowlarr.container.nodeSelector | Node Selector for the Prowlarr pods | {} |
prowlarr.container.image | The image used by the container | docker.io/linuxserver/prowlarr |
prowlarr.container.tag | The tag used by the container | develop |
prowlarr.service.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) | ClusterIP |
prowlarr.service.port | The port assigned to the service | 9117 |
prowlarr.service.nodePort | In case of service.type NodePort, the nodePort to use | "" |
prowlarr.service.extraLBService | If true, it creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
prowlarr.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
prowlarr.ingress.enabled | If true, creates the ingress resource for the application | true |
prowlarr.ingress.annotations | Additional field for annotations, if needed | {} |
prowlarr.ingress.path | The path where the application is exposed | /prowlarr |
prowlarr.ingress.tls.enabled | If true, tls is enabled | false |
prowlarr.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
prowlarr.resources | Limits and Requests for the container | {} |
prowlarr.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
transmission.enabled | Flag if you want to enable Transmission | true |
transmission.container.port.utp | The port in use by the container | 9091 |
transmission.container.nodeSelector | Node Selector for the Transmission pods | {} |
transmission.container.port.peer | The port in use by the container for peer connection | 51413 |
transmission.container.image | The image used by the container | docker.io/linuxserver/transmission |
transmission.container.tag | The tag used by the container | null |
transmission.service.utp.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) for Transmission itself | ClusterIP |
transmission.service.utp.port | The port assigned to the service for Transmission itself | 9091 |
transmission.service.utp.nodePort | In case of service.type NodePort, the nodePort to use for Transmission itself | "" |
transmission.service.utp.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
transmission.service.peer.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) for peer port | ClusterIP |
transmission.service.peer.port | The port assigned to the service for peer port | 51413 |
transmission.service.peer.nodePort | In case of service.type NodePort, the nodePort to use for peer port | "" |
transmission.service.peer.nodePortUDP | In case of service.type NodePort, the nodePort to use for peer port UDP service | "" |
transmission.service.peer.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
transmission.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
transmission.ingress.enabled | If true, creates the ingress resource for the application | true |
transmission.ingress.annotations | Additional field for annotations, if needed | {} |
transmission.ingress.path | The path where the application is exposed | /transmission |
transmission.ingress.tls.enabled | If true, tls is enabled | false |
transmission.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
transmission.config.auth.enabled | Enables authentication for Transmission | false |
transmission.config.auth.username | Username for Transmission | "" |
transmission.config.auth.password | Password for Transmission | "" |
transmission.resources | Limits and Requests for the container | {} |
transmission.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
Config path | Meaning | Default |
---|---|---|
sabnzbd.enabled | Flag if you want to enable Sabnzbd | true |
sabnzbd.container.nodeSelector | Node Selector for the Sabnzbd pods | {} |
sabnzbd.container.port.http | The port in use by the container | 8080 |
sabnzbd.container.port.https | The port in use by the container for peer connection | 9090 |
sabnzbd.container.image | The image used by the container | docker.io/linuxserver/sabnzbd |
sabnzbd.container.tag | The tag used by the container | null |
sabnzbd.service.http.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) for Sabnzbd itself | ClusterIP |
sabnzbd.service.http.port | The port assigned to the service for Sabnzbd itself | 9091 |
sabnzbd.service.http.nodePort | In case of service.type NodePort, the nodePort to use for Sabnzbd itself | "" |
sabnzbd.service.http.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
sabnzbd.service.https.type | The kind of Service (ClusterIP/NodePort/LoadBalancer) for https port | ClusterIP |
sabnzbd.service.https.port | The port assigned to the service for peer port | 51413 |
sabnzbd.service.https.nodePort | In case of service.type NodePort, the nodePort to use for https port | "" |
sabnzbd.service.https.extraLBService | If true, creates an additional LoadBalancer service with '-lb' suffix (requires a cloud provider or metalLB) | false |
sabnzbd.service.extraLBService.annotations | Instead of using extraLBService as a bool, you can use it as a map to define annotations on the loadbalancer | null |
sabnzbd.ingress.enabled | If true, creates the ingress resource for the application | true |
sabnzbd.ingress.annotations | Additional field for annotations, if needed | {} |
sabnzbd.ingress.path | The path where the application is exposed | /sabnzbd |
sabnzbd.ingress.tls.enabled | If true, tls is enabled | false |
sabnzbd.ingress.tls.secretName | Name of the secret holding certificates for the secure ingress | "" |
sabnzbd.resources | Limits and Requests for the container | {} |
sabnzbd.volume | If set, Plex will create a PVC for it's config volume, else it will be put on general.storage.subPaths.config | {} |
This project is intended as an exercise, and absolutely for fun. Don't use it to commit piracy.
Also feel free to contribute and extend it!