Ga naar inhoud

Emby media server

EmbyMedia

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.

Emby

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

Raspberry Pi Specs

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:

HTTP HTTPS

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