Emby media server
Om lokale media te kunnen bekijken direct vanaf mijn televisies en mobiele apparaten heb ik emby media server uitgerold. De meeste televisies hebben een ingebouwde client / app beschikbaar voor emby, check hier of je TV of mediaplayer ondersteund is.
Uiteraard draait deze emby installatie in een docker container op mijn cluster.
Omdat de clusternodes voorzien zijn van VideoCore koppel ik deze als een device aan de docker container.
Volume mount -> /dev/vchiq to /vchiq
Configuratie
De Emby server installatie op mijn cluster maakt gebruik van standaard poorten om de configuratie van de client app zo simpel mogelijk te maken, na uitrol van de container, service en ingress is emby beschikbaar op:
Deployment
apiVersion: apps/v1
kind: Deployment
name: emby-media
namespace: default
spec:
template:
spec:
containers:
- env:
- name: UID
value: "1036"
- name: GID
value: "101"
image: emby/embyserver_arm64v8:latest
imagePullPolicy: Always
name: emby-media
ports:
- containerPort: 8096
name: embyhttp
protocol: TCP
- containerPort: 8920
name: embyhttps
protocol: TCP
volumeMounts:
- mountPath: /config
name: embydata
subPath: config
- mountPath: /data/movies
name: embymedia
subPath: movies
- mountPath: /data/tv-shows
name: embymedia
subPath: tv-shows
- mountPath: /data/Kinderfilms
name: embymedia
subPath: Kinderfilms
- mountPath: /data/intro
name: embymedia
subPath: intro
- mountPath: /dev/vchiq
name: vchiq
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: default-token-6qsd5
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: embydata
nfs:
path: /volume1/k3s/data/emby
server: syn04.loevencloud.nl
- name: embymedia
nfs:
path: /volume1/media
server: syn04.loevencloud.nl
- hostPath:
path: /dev/vchiq
type: ""
name: vchiq
Service
apiVersion: v1
kind: Service
name: emby-media
namespace: default
spec:
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- name: embyhttp
port: 8096
protocol: TCP
targetPort: 8096
- name: embyhttps
port: 8920
protocol: TCP
targetPort: 8920
type: ClusterIP
status:
loadBalancer: {}
Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
name: in-emby
namespace: default
spec:
rules:
- host: emby.loevencloud.nl
http:
paths:
- backend:
service:
name: emby-media
port:
number: 8096
pathType: ImplementationSpecific
tls:
- hosts:
- emby.loevencloud.nl
secretName: secret-tls-emby