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: {}