Compare commits

...

3 commits

8 changed files with 208 additions and 0 deletions

View file

@ -0,0 +1,8 @@
# Radarr
Radarr is a movie collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new movies and will interface with clients and indexers to grab, sort, and rename them. It can also be configured to automatically upgrade the quality of existing files in the library when a better quality format becomes available. Note that only one type of a given movie is supported. If you want both a 4k version and 1080p version of a given movie you will need multiple instances.<br>
\- [source](https://github.com/Radarr/Radarr)
## Using this kubernetes config
In `deployment.yml`, set the host paths for the downloads folder (the folder that your download client of choice will download files to) and the media folder (where the movies will be stored by Radarr). Also set the user ID and group ID that Radarr will run under. This will affect the user and group of files and folders managed by Radarr
In `ingress.yml`, set the hostname that users will use to connect to the service. This config assumes you have cert-manager installed on your cluster, so if you want to provide HTTPS another way, feel free to comment out the `spec.tls` section (the annotation shouldn't affect anything, but you can comment it out as well if you want)

63
Radarr/deployment.yml Normal file
View file

@ -0,0 +1,63 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: radarr
spec:
replicas: 1
selector:
matchLabels:
app: radarr
template:
metadata:
labels:
app: radarr
spec:
containers:
- name: radarr
image: linuxserver/radarr:latest
ports:
- containerPort: 7878
env:
- name: PUID
value: <user ID>
- name: PGID
value: <group ID>
- name: TZ
value: "UTC"
resources:
limits:
memory: "512Mi"
cpu: "500m"
requests:
memory: "256Mi"
cpu: "250m"
volumeMounts:
- name: config
mountPath: /config
- name: media
mountPath: /media
- name: downloads
mountPath: /downloads
volumes:
- name: config
persistentVolumeClaim:
claimName: radarr-config-pvc
- name: media
hostPath:
path: <media directory host path>
type: Directory
- name: downloads
hostPath:
path: <downloads directory host path>
type: Directory
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: radarr-config-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 512Mi

22
Radarr/ingress.yml Normal file
View file

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: radarr
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-production"
spec:
tls:
- hosts:
- <radarr domain name>
secretName: radarr-tls
rules:
- host: <radarr domain name>
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: radarr
port:
number: 80

11
Radarr/service.yml Normal file
View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: radarr
spec:
selector:
app: radarr
ports:
- name: http
port: 80
targetPort: 7878

View file

@ -0,0 +1,8 @@
# Sonarr
Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.<br>
\- [source](https://github.com/Sonarr/Sonarr)
## Using this kubernetes config
In `deployment.yml`, set the host paths for the downloads folder (the folder that your download client of choice will download files to) and the media folder (where TV shows will be stored by Sonarr). Also set the user ID and group ID that Sonarr will run under. This will affect the user and group of files and folders managed by Sonarr
In `ingress.yml`, set the hostname that users will use to connect to the service. This config assumes you have cert-manager installed on your cluster, so if you want to provide HTTPS another way, feel free to comment out the `spec.tls` section (the annotation shouldn't affect anything, but you can comment it out as well if you want)

63
Sonarr/deployment.yml Normal file
View file

@ -0,0 +1,63 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: sonarr
spec:
replicas: 1
selector:
matchLabels:
app: sonarr
template:
metadata:
labels:
app: sonarr
spec:
containers:
- name: sonarr
image: linuxserver/sonarr:latest
ports:
- containerPort: 8989
resources:
requests:
cpu: "250m"
memory: "256Mi"
limits:
cpu: "500m"
memory: "1Gi"
volumeMounts:
- name: config
mountPath: /config
- name: media
mountPath: /media
- name: downloads
mountPath: /downloads
env:
- name: PUID
value: <user ID>
- name: PGID
value: <group ID>
- name: TZ
value: "UTC"
volumes:
- name: config
persistentVolumeClaim:
claimName: sonarr-config-pvc
- name: media
hostPath:
path: <media directory host path>
type: Directory
- name: downloads
hostPath:
path: <downloads directory host path>
type: Directory
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sonarr-config-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi

22
Sonarr/ingress.yml Normal file
View file

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sonarr-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-production"
spec:
tls:
- hosts:
- <sonarr domain name>
secretName: sonarr-tls
rules:
- host: <sonarr domain name>
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sonarr
port:
number: 80

11
Sonarr/service.yml Normal file
View file

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: sonarr
spec:
selector:
app: sonarr
ports:
- protocol: TCP
port: 80
targetPort: 8989