Compare commits

..

2 Commits

Author SHA1 Message Date
Renovate Bot d3d307a8bf feat(helm): update chart app-template to 3.5.1 2024-11-10 21:05:56 +00:00
SeanOMik 4f5c279f00
feat: add ampache 2024-11-10 15:59:00 -05:00
11 changed files with 173 additions and 123 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
@ -14,9 +14,10 @@ spec:
kind: HelmRepository kind: HelmRepository
name: bjws-charts name: bjws-charts
namespace: flux-system namespace: flux-system
values: values:
controllers: controllers:
kapowarr: main:
pod: pod:
securityContext: securityContext:
runAsNonRoot: true runAsNonRoot: true
@ -24,26 +25,29 @@ spec:
runAsGroup: 10000 runAsGroup: 10000
fsGroup: 10000 fsGroup: 10000
fsGroupChangePolicy: OnRootMismatch fsGroupChangePolicy: OnRootMismatch
containers: containers:
app: main:
image: image:
repository: git.seanomik.net/seanomik/kapowarr repository: git.seanomik.net/seanomik/kapowarr
tag: v1.0.0 tag: rolling-e74ec0e4
pullPolicy: Always pullPolicy: Always
service: service:
app: app:
controller: kapowarr controller: main
ports: ports:
http: http:
port: 5656 port: 5656
ingress: ingress:
app: main:
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt-production cert-manager.io/cluster-issuer: letsencrypt-production
traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd
hosts: hosts:
- host: "kapowarr.${SECRET_NEW_DOMAIN}" - host: "kapowarr.${SECRET_NEW_DOMAIN}"
paths: paths:
@ -53,12 +57,14 @@ spec:
port: http port: http
persistence: persistence:
data:
existingClaim: kapowarr
globalMounts:
- path: /data
storage: storage:
type: hostPath type: hostPath
hostPath: /mnt/MainPool/Media hostPath: /mnt/MainPool/Media
globalMounts: globalMounts:
- path: /storage - path: /storage
config:
type: hostPath
hostPath: /mnt/MainPool/Kubernetes/kapowarr
globalMounts:
- path: /app/db

View File

@ -1,32 +0,0 @@
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app kapowarr
namespace: flux-system
spec:
timeout: 5m
interval: 10m
targetNamespace: download
path: ./kubernetes/main/apps/download/kapowarr/app
prune: true
sourceRef:
kind: GitRepository
name: home-cluster
decryption:
provider: sops
secretRef:
name: sops-gpg
dependsOn:
- name: openebs
- name: openebs-sc
- name: volsync
postBuild:
substituteFrom:
- kind: ConfigMap
name: cluster-settings
- kind: Secret
name: cluster-secrets
substitute:
APP: *app
VOLSYNC_CAPACITY: 5Gi

View File

@ -1,5 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ../../../../../common/templates/volsync
- ./helm-release.yaml - ./helm-release.yaml

View File

@ -14,5 +14,5 @@ resources:
- ./unpackerr - ./unpackerr
- ./media-dashboard.yaml - ./media-dashboard.yaml
- ./flaresolverr - ./flaresolverr
- ./kapowarr/ks.yaml - ./kapowarr
- ./sabnzbd - ./sabnzbd

View File

@ -1,8 +1,8 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
name: komga name: ampache
spec: spec:
interval: 5m interval: 5m
chart: chart:
@ -13,16 +13,19 @@ spec:
kind: HelmRepository kind: HelmRepository
name: bjws-charts name: bjws-charts
namespace: flux-system namespace: flux-system
values: values:
controllers: controllers:
komga: ampache:
containers: containers:
app: app:
image: image:
repository: gotson/komga repository: ampache/ampache
tag: 1.14.1 tag: nosql7.0.1
env: env:
TZ: America/New_York DISABLE_INOTIFYWAIT_CLEAN: 0
probes: probes:
liveness: &probes liveness: &probes
enabled: true enabled: true
@ -30,7 +33,7 @@ spec:
spec: spec:
httpGet: httpGet:
path: / path: /
port: &port 25600 port: &port 80
initialDelaySeconds: 0 initialDelaySeconds: 0
periodSeconds: 10 periodSeconds: 10
timeoutSeconds: 1 timeoutSeconds: 1
@ -41,28 +44,23 @@ spec:
spec: spec:
failureThreshold: 30 failureThreshold: 30
periodSeconds: 10 periodSeconds: 10
resources:
requests:
cpu: 2m
memory: 1500Mi
limits:
memory: 3200Mi
# securityContext: # securityContext:
# allowPrivilegeEscalation: false # allowPrivilegeEscalation: false
# readOnlyRootFilesystem: true # readOnlyRootFilesystem: true
# capabilities: { drop: ["ALL"] } # capabilities: { drop: ["ALL"] }
# defaultPodOptions: defaultPodOptions:
# securityContext: securityContext:
# runAsUser: 10000 # runAsNonRoot: true
# runAsGroup: 10000 runAsUser: 10000
# fsGroup: 10000 runAsGroup: 10000
# fsGroupChangePolicy: OnRootMismatch fsGroup: 10000
fsGroupChangePolicy: OnRootMismatch
service: service:
app: app:
controller: komga controller: ampache
ports: ports:
http: http:
port: *port port: *port
@ -72,8 +70,9 @@ spec:
annotations: annotations:
cert-manager.io/cluster-issuer: letsencrypt-production cert-manager.io/cluster-issuer: letsencrypt-production
traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.entrypoints: websecure
#className: external
hosts: hosts:
- host: "comics.${SECRET_NEW_DOMAIN}" - host: "ampache.${SECRET_NEW_DOMAIN}"
paths: paths:
- path: / - path: /
service: service:
@ -81,13 +80,19 @@ spec:
port: http port: http
persistence: persistence:
data: config:
existingClaim: komga existingClaim: ampache
globalMounts: globalMounts:
- path: /config - path: /var/www/config
storage:
logs:
type: emptyDir
globalMounts:
- path: /var/log/ampache
music:
type: hostPath type: hostPath
hostPath: /mnt/MainPool/Media/Media hostPath: /mnt/MainPool/Media/Media
globalMounts: globalMounts:
- path: /storage - path: /media
#readOnly: true readOnly: true

View File

@ -2,13 +2,13 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1 apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization kind: Kustomization
metadata: metadata:
name: &app komga name: &app ampache
namespace: flux-system namespace: flux-system
spec: spec:
timeout: 5m timeout: 5m
interval: 10m interval: 10m
targetNamespace: media targetNamespace: media
path: ./kubernetes/main/apps/media/komga/app path: ./kubernetes/main/apps/media/ampache/app
prune: true prune: true
sourceRef: sourceRef:
kind: GitRepository kind: GitRepository
@ -28,4 +28,4 @@ spec:
name: cluster-secrets name: cluster-secrets
substitute: substitute:
APP: *app APP: *app
VOLSYNC_CAPACITY: 5Gi VOLSYNC_CAPACITY: 15Gi

View File

@ -0,0 +1,67 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: komga
namespace: media
spec:
interval: 5m
chart:
spec:
chart: app-template
version: 3.5.x
sourceRef:
kind: HelmRepository
name: bjws-charts
namespace: flux-system
values:
image:
repository: gotson/komga
tag: "1.14.1"
env:
TZ: America/New_York
service:
main:
ports:
http:
port: 25600
probes:
liveness:
enabled: false
ingress:
main:
enabled: true
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production
traefik.ingress.kubernetes.io/router.entrypoints: websecure
hosts:
- host: &host "comics.${SECRET_NEW_DOMAIN}"
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- *host
persistence:
config:
enabled: true
type: hostPath
hostPath: /mnt/MainPool/Kubernetes/komga
mountPath: /config
storage:
enabled: true
type: hostPath
hostPath: /mnt/MainPool/Media/Media
mountPath: /storage
resources:
requests:
cpu: 2m
memory: 1500Mi
limits:
memory: 3200Mi

View File

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helm-release.yaml

View File

@ -3,7 +3,7 @@ kind: Kustomization
resources: resources:
- ./namespace.yaml - ./namespace.yaml
#- ./network_policy.yaml #- ./network_policy.yaml
- ./komga/ks.yaml - ./komga
- ./kavita - ./kavita
- ./jellyfin - ./jellyfin
- ./jellyseerr - ./jellyseerr
@ -13,3 +13,4 @@ resources:
- ./ombi - ./ombi
- ./freshrss - ./freshrss
- ./navidrome/ks.yaml - ./navidrome/ks.yaml
- ./ampache/ks.yaml