apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: creationTimestamp: "2025-09-10T11:36:22Z" generateName: audiobookshelf-8dffc7697- labels: app: audiobookshelf pod-template-hash: 8dffc7697 name: audiobookshelf-8dffc7697-52dqg namespace: audiobookshelf ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: audiobookshelf-8dffc7697 uid: e3a73abf-aa71-4b39-8d0f-ac2d45b60903 resourceVersion: "20356588" uid: 8b3c2b39-f1ec-4085-a2a9-1c1c518a5278 spec: containers: - env: - name: TZ value: Europe/Budapest image: ghcr.io/advplyr/audiobookshelf:latest imagePullPolicy: Always name: app ports: - containerPort: 80 name: http protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /config name: config - mountPath: /metadata name: metadata - mountPath: /audiobooks name: audiobooks - mountPath: /podcasts name: podcasts - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-xh72l readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true nodeName: server-thinkcentre-e73 preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000 serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 volumes: - name: config persistentVolumeClaim: claimName: abs-config - name: metadata persistentVolumeClaim: claimName: abs-metadata - name: audiobooks persistentVolumeClaim: claimName: abs-audiobooks - name: podcasts persistentVolumeClaim: claimName: abs-podcasts - name: kube-api-access-xh72l projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2025-09-10T11:36:36Z" status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2025-09-10T11:36:29Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2025-09-10T11:36:36Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2025-09-10T11:36:36Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2025-09-10T11:36:29Z" status: "True" type: PodScheduled containerStatuses: - containerID: containerd://452f0be29c5d5af3007ba5052c97b62d6d033639239b366ab28f72c73708fb55 image: ghcr.io/advplyr/audiobookshelf:latest imageID: ghcr.io/advplyr/audiobookshelf@sha256:dd4a3079d26bfe9f0ea63de3e3eff483dfa25fef05ef850a5a9d121dca3794b2 lastState: {} name: app ready: true restartCount: 0 started: true state: running: startedAt: "2025-09-10T11:36:36Z" volumeMounts: - mountPath: /config name: config - mountPath: /metadata name: metadata - mountPath: /audiobooks name: audiobooks - mountPath: /podcasts name: podcasts - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-xh72l readOnly: true recursiveReadOnly: Disabled hostIP: 192.168.31.54 hostIPs: - ip: 192.168.31.54 phase: Running podIP: 10.244.0.100 podIPs: - ip: 10.244.0.100 qosClass: BestEffort startTime: "2025-09-10T11:36:29Z" - apiVersion: v1 kind: Service metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"audiobookshelf","namespace":"audiobookshelf"},"spec":{"ports":[{"name":"http","nodePort":31378,"port":80,"targetPort":"http"}],"selector":{"app":"audiobookshelf"},"type":"NodePort"}} creationTimestamp: "2025-09-10T11:36:22Z" name: audiobookshelf namespace: audiobookshelf resourceVersion: "14471402" uid: 400237d9-0f3a-4c2b-9fee-a66f173fe8a4 spec: clusterIP: 10.108.247.202 clusterIPs: - 10.108.247.202 externalTrafficPolicy: Cluster internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: http nodePort: 31378 port: 80 protocol: TCP targetPort: http selector: app: audiobookshelf sessionAffinity: None type: NodePort status: loadBalancer: {} - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"audiobookshelf","namespace":"audiobookshelf"},"spec":{"replicas":1,"selector":{"matchLabels":{"app":"audiobookshelf"}},"template":{"metadata":{"labels":{"app":"audiobookshelf"}},"spec":{"containers":[{"env":[{"name":"TZ","value":"Europe/Budapest"}],"image":"ghcr.io/advplyr/audiobookshelf:latest","name":"app","ports":[{"containerPort":80,"name":"http"}],"volumeMounts":[{"mountPath":"/config","name":"config"},{"mountPath":"/metadata","name":"metadata"},{"mountPath":"/audiobooks","name":"audiobooks"},{"mountPath":"/podcasts","name":"podcasts"}]}],"securityContext":{"fsGroup":1000},"volumes":[{"name":"config","persistentVolumeClaim":{"claimName":"abs-config"}},{"name":"metadata","persistentVolumeClaim":{"claimName":"abs-metadata"}},{"name":"audiobooks","persistentVolumeClaim":{"claimName":"abs-audiobooks"}},{"name":"podcasts","persistentVolumeClaim":{"claimName":"abs-podcasts"}}]}}}} creationTimestamp: "2025-09-10T11:36:22Z" generation: 1 name: audiobookshelf namespace: audiobookshelf resourceVersion: "14471527" uid: 03ee593f-d009-4ebd-97b7-d73cb764aedc spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: audiobookshelf strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: app: audiobookshelf spec: containers: - env: - name: TZ value: Europe/Budapest image: ghcr.io/advplyr/audiobookshelf:latest imagePullPolicy: Always name: app ports: - containerPort: 80 name: http protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /config name: config - mountPath: /metadata name: metadata - mountPath: /audiobooks name: audiobooks - mountPath: /podcasts name: podcasts dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000 terminationGracePeriodSeconds: 30 volumes: - name: config persistentVolumeClaim: claimName: abs-config - name: metadata persistentVolumeClaim: claimName: abs-metadata - name: audiobooks persistentVolumeClaim: claimName: abs-audiobooks - name: podcasts persistentVolumeClaim: claimName: abs-podcasts status: availableReplicas: 1 conditions: - lastTransitionTime: "2025-09-10T11:36:36Z" lastUpdateTime: "2025-09-10T11:36:36Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2025-09-10T11:36:22Z" lastUpdateTime: "2025-09-10T11:36:36Z" message: ReplicaSet "audiobookshelf-8dffc7697" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2025-09-10T11:36:22Z" generation: 1 labels: app: audiobookshelf pod-template-hash: 8dffc7697 name: audiobookshelf-8dffc7697 namespace: audiobookshelf ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: audiobookshelf uid: 03ee593f-d009-4ebd-97b7-d73cb764aedc resourceVersion: "14471526" uid: e3a73abf-aa71-4b39-8d0f-ac2d45b60903 spec: replicas: 1 selector: matchLabels: app: audiobookshelf pod-template-hash: 8dffc7697 template: metadata: creationTimestamp: null labels: app: audiobookshelf pod-template-hash: 8dffc7697 spec: containers: - env: - name: TZ value: Europe/Budapest image: ghcr.io/advplyr/audiobookshelf:latest imagePullPolicy: Always name: app ports: - containerPort: 80 name: http protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /config name: config - mountPath: /metadata name: metadata - mountPath: /audiobooks name: audiobooks - mountPath: /podcasts name: podcasts dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000 terminationGracePeriodSeconds: 30 volumes: - name: config persistentVolumeClaim: claimName: abs-config - name: metadata persistentVolumeClaim: claimName: abs-metadata - name: audiobooks persistentVolumeClaim: claimName: abs-audiobooks - name: podcasts persistentVolumeClaim: claimName: abs-podcasts status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 kind: List metadata: resourceVersion: ""