commit e0a63a3b7f80a2027a93b4eca3bdb57eed571b82 Author: David Landry Date: Sat Nov 4 01:04:12 2023 -0400 Initial commit diff --git a/media/Namespace.yaml b/media/Namespace.yaml new file mode 100644 index 0000000..d592f0d --- /dev/null +++ b/media/Namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: media diff --git a/media/library/email-claim-pvc.yaml b/media/library/email-claim-pvc.yaml new file mode 100644 index 0000000..0d3bc5d --- /dev/null +++ b/media/library/email-claim-pvc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: kavita-email-config-pvc + name: kavita-email-config-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} diff --git a/media/library/email-deployment.yaml b/media/library/email-deployment.yaml new file mode 100644 index 0000000..dc73579 --- /dev/null +++ b/media/library/email-deployment.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: kompose convert -f docker-compose.yml + kompose.version: 1.31.2 (HEAD) + creationTimestamp: null + labels: + io.kompose.service: email + name: email +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: email + strategy: + type: Recreate + template: + metadata: + annotations: + kompose.cmd: kompose convert -f docker-compose.yml + kompose.version: 1.31.2 (HEAD) + creationTimestamp: null + labels: + io.kompose.network/ebooks-default: "true" + io.kompose.service: email + spec: + containers: + - image: kizaing/kavitaemail:latest + name: kavita-email + resources: {} + volumeMounts: + - mountPath: /app/config + name: kavita-email-config-pvc + restartPolicy: Always + volumes: + - name: kavita-email-claim + persistentVolumeClaim: + claimName: kavita-email-config-pvc +status: {} diff --git a/media/library/kavita-config-pvc.yaml b/media/library/kavita-config-pvc.yaml new file mode 100644 index 0000000..2020fb7 --- /dev/null +++ b/media/library/kavita-config-pvc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: kavita-config-pvc + name: kavita-config-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Mi +status: {} diff --git a/media/library/kavita-deployment.yaml b/media/library/kavita-deployment.yaml new file mode 100644 index 0000000..37fa2ae --- /dev/null +++ b/media/library/kavita-deployment.yaml @@ -0,0 +1,88 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + gethompage.dev/enabled: true + gethomepage.dev/group: Media + gethomepage.dev/name: Books + gethomepage.dev/description: Ebooks and graphic novels + gethomepage.dev/href: https://library.nc.landry.land + gethomepage.dev/icon: kavita + creationTimestamp: null + labels: + io.kompose.service: kavita + name: kavita +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: kavita + strategy: + type: Recreate + template: + metadata: + annotations: + gethompage.dev/enabled: true + gethomepage.dev/group: Media + gethomepage.dev/name: Books + gethomepage.dev/description: Ebooks and graphic novels + gethomepage.dev/href: https://library.nc.landry.land + gethomepage.dev/icon: kavita + traefik.enable: "true" + traefik.http.routers.library.entrypoints: websecure + traefik.http.routers.library.rule: Host(`library.nc.landry.land`) + traefik.http.routers.library.service: library + traefik.http.routers.library.tls.certresolver: leresolver + traefik.http.services.library.loadbalancer.server.port: "5000" + creationTimestamp: null + labels: + io.kompose.network/ebooks-default: "true" + io.kompose.network/public: "true" + io.kompose.service: kavita + spec: + containers: + - env: + - name: TZ + value: America/New_York + image: kizaing/kavita:latest + livenessProbe: + exec: + command: + - curl --fail http://localhost:5000 || exit 1 + failureThreshold: 3 + initialDelaySeconds: 30 + periodSeconds: 300 + timeoutSeconds: 15 + name: kavita + resources: {} + volumeMounts: + - mountPath: /kavita/config + name: kavita-config-pvc + - mountPath: /books + name: + kavita-ebooks-pvc + # - mountPath: /comics + # name: kavita-claim1 + # - mountPath: /manga + # name: kavita-claim2 + # - mountPath: /ttrpg + # name: kavita-claim3 + restartPolicy: Always + volumes: + - name: kavita-config-pvc + persistentVolumeClaim: + claimName: kavita-config-pvc + - name: kavita-ebooks-pvc + persistentVolumeClaim: + claimName: + kavita-ebooks-pvc + #- name: kavita-claim2 + # persistentVolumeClaim: + # claimName: kavita-claim2 + #- name: kavita-claim3 + # persistentVolumeClaim: + # claimName: kavita-claim3 + #- name: kavita-claim4 + # persistentVolumeClaim: + # claimName: kavita-claim4 +status: {} diff --git a/media/library/kavita-ebooks-pv.yaml b/media/library/kavita-ebooks-pv.yaml new file mode 100644 index 0000000..31ec1a7 --- /dev/null +++ b/media/library/kavita-ebooks-pv.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: cluster.local/nfs-subdir-external-provisioner + name: media-library-ebooks + uid: 2d1c1a6e-b0a5-4e26-a055-992b8be7f10d +spec: + accessModes: + - ReadWriteOnce + capacity: + storage: 100Gi + nfs: + path: /exports/ebooks + server: 192.168.1.215 + persistentVolumeReclaimPolicy: Retain + storageClassName: nfs-client + volumeMode: Filesystem diff --git a/media/library/kavita-ebooks-pvc.yaml b/media/library/kavita-ebooks-pvc.yaml new file mode 100644 index 0000000..624de08 --- /dev/null +++ b/media/library/kavita-ebooks-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: kavita-ebooks-pvc + namespace: media +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: media-library-ebooks diff --git a/media/plex/.keep b/media/plex/.keep new file mode 100644 index 0000000..e69de29