Przeglądaj źródła

add audiobookshelf

Josh Bicking 10 godzin temu
rodzic
commit
a5ad51df51

+ 15 - 0
argocd/audiobookshelf/audiobookshelf-pvc.yaml

@@ -0,0 +1,15 @@
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: audiobookshelf-pvc
+  namespace: plex
+  labels:
+    app: audiobookshelf
+spec:
+  storageClassName: ceph-block-ssd
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 3Gi

+ 97 - 0
argocd/audiobookshelf/audiobookshelf.yaml

@@ -0,0 +1,97 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: audiobookshelf
+  namespace: plex
+spec:
+  strategy:
+    type: Recreate
+  selector:
+    matchLabels:
+      app: audiobookshelf
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: audiobookshelf
+      annotations:
+        backup.velero.io/backup-volumes-excludes: media
+    spec:
+      containers:
+      - name: audiobookshelf
+        image: ghcr.io/advplyr/audiobookshelf:latest
+        imagePullPolicy: Always
+        ports:
+        - containerPort: 80
+          name: http-web-svc
+        volumeMounts:
+        - mountPath: /config
+          name: data
+          subPath: config
+        - mountPath: /metadata
+          name: data
+          subPath: metadata
+        - mountPath: /audiobooks
+          name: media
+          subPath: Audiobooks
+        - mountPath: /podcasts
+          name: media
+          subPath: Podcasts
+        env:
+        - name: TZ
+          value: America/New_York
+        livenessProbe:
+          #httpGet:
+          #  path: /web/index.html
+          #  port: 13378
+          #failureThreshold: 5
+          #initialDelaySeconds: 10
+          #periodSeconds: 30
+          #timeoutSeconds: 10
+        resources:
+          #limits:
+          #  ephemeral-storage: "10Gi"
+      volumes:
+      - name: data
+        persistentVolumeClaim:
+          claimName: audiobookshelf-pvc
+      - name: media
+        persistentVolumeClaim:
+          claimName: plex-pvc
+          readOnly: true
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: audiobookshelf-service
+  namespace: plex
+spec:
+  selector:
+    app: audiobookshelf
+  type: ClusterIP
+  ports:
+  - name: audiobookshelf-web-port
+    protocol: TCP
+    port: 80
+    targetPort: http-web-svc
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: audiobookshelf
+  namespace: plex
+  annotations:
+    traefik.ingress.kubernetes.io/router.entrypoints: websecure
+spec:
+  rules:
+    - host: audiobookshelf.jibby.org
+      http:
+        paths:
+          - path: /
+            pathType: Prefix
+            backend:
+              service:
+                name: audiobookshelf-service
+                port:
+                  number: 80