apiVersion: apps/v1 kind: Deployment metadata: name: plex namespace: default annotations: force-recreate: true spec: replicas: 1 selector: matchLabels: app: plex template: metadata: labels: app: plex spec: containers: # Sidecar providing access to upload/view/download raw media files - name: filebrowswer image: git.clortox.com/infrastructure/filebrowser:v1.0.1 env: - name: DEFAULT_USERNAME value: "default" - name: ADMIN_PASS value: "CHANGEME" - name: DEFAULT_PASSWORD value: "CHANGEME" - name: BRANDING_NAME value: "Media Storage" #- name: AUTH_METHOD # value: "proxy" #- name: AUTH_HEADER # value: "X-Auth-User" - name: PERM_ADMIN value: "false" - name: PERM_EXECUTE value: "false" - name: PERM_CREATE value: "true" - name: PERM_RENAME value: "true" - name: PERM_MODIFY value: "true" - name: PERM_DELETE value: "false" - name: PERM_SHARE value: "true" - name: PERM_DOWNLOAD value: "true" volumeMounts: - name: plex-media mountPath: /srv ports: - containerPort: 80 - name: plex image: plexinc/pms-docker:latest ports: - containerPort: 32400 protocol: TCP # Plex web UI - containerPort: 32410 protocol: UDP # DLNA discovery - containerPort: 1900 protocol: UDP # DLNA - containerPort: 32412 protocol: UDP # Plex DLNA additional - containerPort: 32413 protocol: UDP # Plex DLNA additional - containerPort: 32414 protocol: UDP # Plex DLNA additional - containerPort: 3005 protocol: TCP # Plex companion - containerPort: 8324 protocol: TCP # Plex GDM - containerPort: 32469 protocol: TCP # DLNA volumeMounts: - mountPath: /media name: plex-media - mountPath: /data name: plex-config env: - name: PUID value: "1000" # Adjust based on your Plex user ID - name: PGID value: "1000" # Adjust based on your Plex group ID - name: TZ value: "EST" # Adjust based on your timezone - name: PLEX_CLAIM valueFrom: secretKeyRef: name: plexclaim key: PLEXCLAIM volumes: - name: plex-media persistentVolumeClaim: claimName: plex-media-pvc - name: plex-config persistentVolumeClaim: claimName: plex-pvc-config