⬆️ media-browser app-template v2

This commit is contained in:
auricom
2023-11-02 19:02:19 +01:00
parent d0c6367358
commit c0e2d9caa5
4 changed files with 62 additions and 66 deletions

View File

@@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: app-template chart: app-template
version: 1.5.1 version: 2.0.3
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: bjw-s name: bjw-s
@@ -27,42 +27,60 @@ spec:
uninstall: uninstall:
keepHistory: false keepHistory: false
values: values:
controller: controllers:
annotations: main:
reloader.stakater.com/auto: "true" type: statefulset
image: annotations:
repository: docker.io/filebrowser/filebrowser reloader.stakater.com/auto: "true"
tag: v2.25.0 containers:
env: main:
TZ: "${TIMEZONE}" image:
FB_DATABASE: "/config/filebrowser.db" repository: docker.io/filebrowser/filebrowser
FB_ROOT: "/mnt/storage" tag: v2.25.0
FB_LOG: "stdout" env:
FB_NOAUTH: "true" TZ: "${TIMEZONE}"
FB_DATABASE: "/config/filebrowser.db"
FB_ROOT: "/mnt/storage"
FB_LOG: "stdout"
FB_NOAUTH: "true"
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /health
port: &port 80
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: false
resources:
requests:
cpu: 10m
memory: 50Mi
limits:
memory: 500Mi
statefulset:
volumeClaimTemplates:
- name: config
accessMode: ReadWriteOnce
size: 1Gi
storageClass: rook-ceph-block
globalMounts:
- path: /config
service: service:
main: main:
ports: ports:
http: http:
port: &port 80
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /health
port: *port port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: false
ingress: ingress:
main: main:
enabled: true enabled: true
ingressClassName: "nginx" className: "nginx"
annotations: annotations:
auth.home.arpa/enabled: "true" auth.home.arpa/enabled: "true"
hajimari.io/icon: mdi:folder-play-outline hajimari.io/icon: mdi:folder-play-outline
@@ -70,35 +88,31 @@ spec:
- host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}" - host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}"
paths: paths:
- path: / - path: /
pathType: Prefix service:
name: main
port: http
tls: tls:
- hosts: - hosts:
- *host - *host
persistence: persistence:
config:
enabled: true
existingClaim: media-browser-config
music: music:
enabled: true enabled: true
type: nfs type: nfs
server: "${LOCAL_LAN_TRUENAS}" server: "${LOCAL_LAN_TRUENAS}"
path: /mnt/storage/music path: /mnt/storage/music
mountPath: /mnt/storage/music globalMounts:
- path: /mnt/storage/music
photo: photo:
enabled: true enabled: true
type: nfs type: nfs
server: "${LOCAL_LAN_TRUENAS}" server: "${LOCAL_LAN_TRUENAS}"
path: /mnt/storage/photo path: /mnt/storage/photo
mountPath: /mnt/storage/photo globalMounts:
- path: /mnt/storage/photo
video: video:
enabled: true enabled: true
type: nfs type: nfs
server: "${LOCAL_LAN_TRUENAS}" server: "${LOCAL_LAN_TRUENAS}"
path: /mnt/storage/video path: /mnt/storage/video
mountPath: /mnt/storage/video globalMounts:
resources: - path: /mnt/storage/video
requests:
cpu: 10m
memory: 50Mi
limits:
memory: 500Mi

View File

@@ -7,4 +7,3 @@ resources:
- ./gatus.yaml - ./gatus.yaml
- ./helmrelease.yaml - ./helmrelease.yaml
- ./volsync.yaml - ./volsync.yaml
- ./volume.yaml

View File

@@ -3,19 +3,19 @@
apiVersion: external-secrets.io/v1beta1 apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: lychee-restic name: media-browser-restic
namespace: default namespace: default
spec: spec:
secretStoreRef: secretStoreRef:
kind: ClusterSecretStore kind: ClusterSecretStore
name: onepassword-connect name: onepassword-connect
target: target:
name: lychee-restic-secret name: media-browser-restic-secret
creationPolicy: Owner creationPolicy: Owner
template: template:
engineVersion: v2 engineVersion: v2
data: data:
RESTIC_REPOSITORY: '{{ .REPOSITORY_TEMPLATE }}/lychee' RESTIC_REPOSITORY: '{{ .REPOSITORY_TEMPLATE }}/media-browser'
RESTIC_PASSWORD: '{{ .RESTIC_PASSWORD }}' RESTIC_PASSWORD: '{{ .RESTIC_PASSWORD }}'
AWS_ACCESS_KEY_ID: '{{ .AWS_ACCESS_KEY_ID }}' AWS_ACCESS_KEY_ID: '{{ .AWS_ACCESS_KEY_ID }}'
AWS_SECRET_ACCESS_KEY: '{{ .AWS_SECRET_ACCESS_KEY }}' AWS_SECRET_ACCESS_KEY: '{{ .AWS_SECRET_ACCESS_KEY }}'
@@ -27,16 +27,16 @@ spec:
apiVersion: volsync.backube/v1alpha1 apiVersion: volsync.backube/v1alpha1
kind: ReplicationSource kind: ReplicationSource
metadata: metadata:
name: lychee name: media-browser
namespace: default namespace: default
spec: spec:
sourcePVC: lychee-files sourcePVC: config-media-browser-0
trigger: trigger:
schedule: "0 7 * * *" schedule: "0 7 * * *"
restic: restic:
copyMethod: Snapshot copyMethod: Snapshot
pruneIntervalDays: 7 pruneIntervalDays: 7
repository: lychee-restic-secret repository: media-browser-restic-secret
cacheCapacity: 20Gi cacheCapacity: 20Gi
volumeSnapshotClassName: csi-ceph-blockpool volumeSnapshotClassName: csi-ceph-blockpool
storageClassName: rook-ceph-block storageClassName: rook-ceph-block

View File

@@ -1,17 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: media-browser-config
namespace: default
labels:
app.kubernetes.io/name: &name media-browser
app.kubernetes.io/instance: *name
snapshot.home.arpa/enabled: "true"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: rook-ceph-block