|
|
@@ -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
|