1 Commits

Author SHA1 Message Date
39fe473569 Update ghcr.io/linuxserver/code-server Docker tag to v4.114.0-ls328
All checks were successful
lint-test-helm / lint-helm (pull_request) Successful in 31s
lint-test-helm / validate-kubeconform (pull_request) Successful in 28s
2026-04-04 13:06:12 +00:00
124 changed files with 1290 additions and 475 deletions

View File

@@ -0,0 +1,12 @@
dependencies:
- name: argo-workflows
repository: https://argoproj.github.io/argo-helm
version: 1.0.7
- name: argo-events
repository: https://argoproj.github.io/argo-helm
version: 2.4.21
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.1
digest: sha256:bcf7ba94885125ce6dac62ee376299f9868bf6ad391597deab0b08ae697a0c5b
generated: "2026-04-03T23:47:41.400540573Z"

View File

@@ -0,0 +1,32 @@
apiVersion: v2
name: argo-workflows
version: 1.0.0
description: Argo Workflows
keywords:
- argo-workflows
- argo-events
- workflows
- events
home: https://docs.alexlebens.dev/applications/argo-workflows/
sources:
- https://github.com/argoproj/argo-workflows
- https://github.com/argoproj/argo-events
- https://github.com/argoproj/argo-helm/tree/main/charts/argo-workflows
- https://github.com/argoproj/argo-helm/tree/main/charts/argo-events
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
maintainers:
- name: alexlebens
dependencies:
- name: argo-workflows
version: 1.0.7
repository: https://argoproj.github.io/argo-helm
- name: argo-events
version: 2.4.21
repository: https://argoproj.github.io/argo-helm
- name: postgres-cluster
alias: postgres-18-cluster
version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
# renovate: datasource=github-releases depName=argoproj/argo-workflows
appVersion: v4.0.4

View File

@@ -1,10 +1,10 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata: metadata:
name: ntfy-config-secret name: argo-workflows-oidc-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
app.kubernetes.io/name: ntfy-config-secret app.kubernetes.io/name: argo-workflows-oidc-secret
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }} app.kubernetes.io/part-of: {{ .Release.Name }}
spec: spec:
@@ -12,7 +12,11 @@ spec:
kind: ClusterSecretStore kind: ClusterSecretStore
name: vault name: vault
data: data:
- secretKey: attachment-cache-dir - secretKey: secret
remoteRef: remoteRef:
key: /garage/home-infra/ntfy-attachments key: /authentik/oidc/argo-workflows
property: attachment-cache-dir property: secret
- secretKey: client
remoteRef:
key: /authentik/oidc/argo-workflows
property: client

View File

@@ -0,0 +1,109 @@
argo-workflows:
crds:
install: true
keep: true
full: true
upgradeJob:
image:
repository: registry.k8s.io/kubectl
tag: v1.35.3
controller:
metricsConfig:
enabled: true
persistence:
postgresql:
host: argo-workflows-postgresql-18-cluster-rw
port: 5432
database: app
tableName: app
userNameSecret:
name: argo-workflows-postgresql-18-cluster-app
key: username
passwordSecret:
name: argo-workflows-postgresql-18-cluster-app
key: password
ssl: false
sslMode: disable
workflowWorkers: 2
workflowTTLWorkers: 2
podCleanupWorkers: 2
cronWorkflowWorkers: 2
resources:
requests:
cpu: 1m
memory: 20Mi
serviceMonitor:
enabled: true
workflowNamespaces:
- argo-workflows
server:
authModes:
- sso
httproute:
enabled: true
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- argo-workflows.alexlebens.net
rules:
- matches:
- path:
type: PathPrefix
value: /
sso:
enabled: true
issuer: https://authentik.alexlebens.net/application/o/argo-workflows/
clientId:
name: argo-workflows-oidc-secret
key: client
clientSecret:
name: argo-workflows-oidc-secret
key: secret
redirectUrl: https://argo-workflows.alexlebens.net/oauth2/callback
rbac:
enabled: false
scopes:
- openid
- email
- profile
argo-events:
crds:
install: true
keep: true
controller:
resources:
requests:
cpu: 1m
memory: 32Mi
metrics:
enabled: true
serviceMonitor:
enabled: true
webhook:
enabled: true
resources:
requests:
cpu: 1m
memory: 20Mi
postgres-18-cluster:
mode: recovery
recovery:
method: objectStore
objectStore:
index: 1
backup:
objectStore:
- name: garage-local
index: 1
destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
scheduledBackups:
- name: live-backup
suspend: false
immediate: true
schedule: "0 0 14 * * *"
backupName: garage-local

View File

@@ -7,9 +7,9 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
digest: sha256:7302a85008aee7950aa345aa7d64563c1b0da8f07e348ec9709f9438503a41ff digest: sha256:4b90c5af4cc7f37b04284aafd75ddda1241c71acb726932e7e21520b5bf98543
generated: "2026-04-04T21:00:59.689114-05:00" generated: "2026-03-31T18:36:26.87524-05:00"

View File

@@ -25,7 +25,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey alias: valkey

View File

@@ -102,12 +102,14 @@ blocky:
;; Application Names ;; Application Names
actual IN CNAME traefik-cl01tl actual IN CNAME traefik-cl01tl
alertmanager IN CNAME traefik-cl01tl alertmanager IN CNAME traefik-cl01tl
argo-workflows IN CNAME traefik-cl01tl
argocd IN CNAME traefik-cl01tl argocd IN CNAME traefik-cl01tl
audiobookshelf IN CNAME traefik-cl01tl audiobookshelf IN CNAME traefik-cl01tl
authentik IN CNAME traefik-cl01tl authentik IN CNAME traefik-cl01tl
backrest IN CNAME traefik-cl01tl backrest IN CNAME traefik-cl01tl
bazarr IN CNAME traefik-cl01tl bazarr IN CNAME traefik-cl01tl
ceph IN CNAME traefik-cl01tl ceph IN CNAME traefik-cl01tl
code-server IN CNAME traefik-cl01tl
dawarich IN CNAME traefik-cl01tl dawarich IN CNAME traefik-cl01tl
directus IN CNAME traefik-cl01tl directus IN CNAME traefik-cl01tl
excalidraw IN CNAME traefik-cl01tl excalidraw IN CNAME traefik-cl01tl
@@ -135,6 +137,7 @@ blocky:
lidarr IN CNAME traefik-cl01tl lidarr IN CNAME traefik-cl01tl
mail IN CNAME traefik-cl01tl mail IN CNAME traefik-cl01tl
medialyze IN CNAME traefik-cl01tl medialyze IN CNAME traefik-cl01tl
movie-roulette IN CNAME traefik-cl01tl
music-grabber IN CNAME traefik-cl01tl music-grabber IN CNAME traefik-cl01tl
navidrome IN CNAME traefik-cl01tl navidrome IN CNAME traefik-cl01tl
ntfy IN CNAME traefik-cl01tl ntfy IN CNAME traefik-cl01tl
@@ -142,6 +145,7 @@ blocky:
ollama IN CNAME traefik-cl01tl ollama IN CNAME traefik-cl01tl
omni-tools IN CNAME traefik-cl01tl omni-tools IN CNAME traefik-cl01tl
paperless-ngx IN CNAME traefik-cl01tl paperless-ngx IN CNAME traefik-cl01tl
photoview IN CNAME traefik-cl01tl
plex IN CNAME traefik-cl01tl plex IN CNAME traefik-cl01tl
postiz IN CNAME traefik-cl01tl postiz IN CNAME traefik-cl01tl
prometheus IN CNAME traefik-cl01tl prometheus IN CNAME traefik-cl01tl

View File

@@ -0,0 +1,12 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 2.4.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:dee0f52096efc543f4db3a5dc2732fd37ae9b7950b264e399a6e74c2f3e7cee6
generated: "2026-03-09T22:04:00.58415637Z"

View File

@@ -0,0 +1,32 @@
apiVersion: v2
name: code-server
version: 1.0.0
description: Code Server
keywords:
- code-server
- code
home: https://docs.alexlebens.dev/applications/code-server/
sources:
- https://github.com/coder/code-server
- https://github.com/linuxserver/docker-code-server
- https://github.com/linuxserver/docker-code-server/pkgs/container/code-server
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:
- name: app-template
alias: code-server
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 2.4.0
- name: volsync-target
alias: volsync-target-config
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/visual-studio-code.png
# renovate: datasource=github-releases depName=linuxserver/docker-code-server
appVersion: 4.113.1

View File

@@ -0,0 +1,22 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: codeserver-password-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: codeserver-password-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: PASSWORD
remoteRef:
key: /cl01tl/code-server/auth
property: PASSWORD
- secretKey: SUDO_PASSWORD
remoteRef:
key: /cl01tl/code-server/auth
property: SUDO_PASSWORD

View File

@@ -0,0 +1,83 @@
code-server:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
pod:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers:
main:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.114.0-ls328@sha256:928e63f0b775d76cda606f181bae9d81c6d3fbd2d1daeef9438e3ba5579f391d
env:
- name: TZ
value: America/Chicago
- name: PUID
value: 1000
- name: PGID
value: 1000
- name: DEFAULT_WORKSPACE
value: /config
envFrom:
- secretRef:
name: codeserver-password-secret
resources:
requests:
cpu: 1m
memory: 40Mi
service:
main:
controller: main
ports:
http:
port: 8443
targetPort: 8443
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- code-server.alexlebens.net
rules:
- backendRefs:
- name: code-server
port: 8443
matches:
- path:
type: PathPrefix
value: /
persistence:
config:
forceRename: code-server-config
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 2Gi
advancedMounts:
main:
main:
- path: /config
readOnly: false
volsync-target-config:
pvcTarget: code-server-config
moverSecurityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
local:
enabled: true
schedule: 16 8 * * *
remote:
enabled: true
schedule: 16 9 * * *
external:
enabled: true
schedule: 16 10 * * *

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
digest: sha256:b070640b7006e3ad528193ca784cfbca602994c87afbef4ef4b40a05229cab10 digest: sha256:1f513bd53430dd0fbba301ab5577aca85e984394dfdca9f615aae944a09c6bc0
generated: "2026-04-04T21:01:27.376484-05:00" generated: "2026-03-31T18:37:35.858603-05:00"

View File

@@ -21,7 +21,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey alias: valkey
@@ -29,4 +29,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/dawarich.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/dawarich.png
# renovate: datasource=github-releases depName=Freika/dawarich # renovate: datasource=github-releases depName=Freika/dawarich
appVersion: 1.6.1 appVersion: 1.6.0

View File

@@ -8,7 +8,7 @@ dawarich:
main: main:
image: image:
repository: freikin/dawarich repository: freikin/dawarich
tag: 1.6.1@sha256:a884f69f19ce0f66992f3872d24544d1e587e133b8a003e072711aafc1e02429 tag: 1.6.0@sha256:5cba4d96fb57976fb6a956b8622365789d74a1178cc3ada1cb7541a4473993a9
command: command:
- "web-entrypoint.sh" - "web-entrypoint.sh"
args: args:
@@ -111,7 +111,7 @@ dawarich:
sidekiq: sidekiq:
image: image:
repository: freikin/dawarich repository: freikin/dawarich
tag: 1.6.1@sha256:a884f69f19ce0f66992f3872d24544d1e587e133b8a003e072711aafc1e02429 tag: 1.6.0@sha256:5cba4d96fb57976fb6a956b8622365789d74a1178cc3ada1cb7541a4473993a9
command: command:
- "sidekiq-entrypoint.sh" - "sidekiq-entrypoint.sh"
args: args:

View File

@@ -8,7 +8,6 @@ keywords:
home: https://docs.alexlebens.dev/applications/descheduler/ home: https://docs.alexlebens.dev/applications/descheduler/
sources: sources:
- https://github.com/kubernetes-sigs/descheduler - https://github.com/kubernetes-sigs/descheduler
- https://explore.ggcr.dev/?repo=registry.k8s.io%2Fdescheduler%2Fdescheduler
- https://github.com/kubernetes-sigs/descheduler/tree/master/charts/descheduler - https://github.com/kubernetes-sigs/descheduler/tree/master/charts/descheduler
maintainers: maintainers:
- name: alexlebens - name: alexlebens

View File

@@ -1,7 +1,4 @@
descheduler: descheduler:
image:
repository: registry.k8s.io/descheduler/descheduler
tag: v0.35.1@sha256:871d3b804390b0b8c7cb09d4e9b7856cf30e31f9e9e3d29562b0301a10453bb1
kind: Deployment kind: Deployment
resources: resources:
limits: limits:

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
digest: sha256:5fa84b2d82a160c35e002690e4d299275b8136463da9da789be9ca7c6ff998c4 digest: sha256:116183cdff428293215553b7e60be9aefafbbaaaf64c01f1fc974badd3e0754b
generated: "2026-04-04T21:01:37.322862-05:00" generated: "2026-03-31T18:37:42.414041-05:00"

View File

@@ -21,7 +21,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey alias: valkey

View File

@@ -8,7 +8,6 @@ keywords:
home: https://docs.alexlebens.dev/applications/eraser/ home: https://docs.alexlebens.dev/applications/eraser/
sources: sources:
- https://github.com/kubernetes-sigs/external-dns - https://github.com/kubernetes-sigs/external-dns
- https://explore.ggcr.dev/?repo=registry.k8s.io%2Fexternal-dns%2Fexternal-dns
- https://github.com/kashalls/external-dns-unifi-webhook - https://github.com/kashalls/external-dns-unifi-webhook
- https://github.com/kubernetes-sigs/external-dns/tree/master/charts/external-dns - https://github.com/kubernetes-sigs/external-dns/tree/master/charts/external-dns
maintainers: maintainers:

View File

@@ -1,7 +1,4 @@
external-dns-unifi: external-dns-unifi:
image:
repository: registry.k8s.io/external-dns/external-dns
tag: v0.20.0@sha256:ddc7f4212ed09a21024deb1f470a05240837712e74e4b9f6d1f2632ff10672e7
fullnameOverride: external-dns-unifi fullnameOverride: external-dns-unifi
resources: resources:
requests: requests:

View File

@@ -7,9 +7,9 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:f709ef2ce041d934faf75dfa31cc86e536aa62ab31ab82584c9751652561744c digest: sha256:ebf08159809ef0d69fcb8742b47245c82994b528c2f58e5ed40293555e085ecd
generated: "2026-04-04T21:02:01.689182-05:00" generated: "2026-03-31T18:37:59.187695-05:00"

View File

@@ -25,7 +25,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-data alias: volsync-target-data

View File

@@ -4,9 +4,9 @@ dependencies:
version: 1.5.0 version: 1.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:b2a7ef962a91dff4313f66c1d04356f1b2aeefc752d672a9a27ea227db4b8c7d digest: sha256:1f530794c6d9c4a487d30443dce7ddf556524c7f875c6e5249b135e81528f0c5
generated: "2026-04-04T21:02:09.187828-05:00" generated: "2026-03-31T19:06:30.871275-05:00"

View File

@@ -20,7 +20,7 @@ dependencies:
version: 1.5.0 version: 1.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-data alias: volsync-target-data

View File

@@ -113,6 +113,9 @@ gatus:
- name: yamtrack - name: yamtrack
url: https://yamtrack.alexlebens.net url: https://yamtrack.alexlebens.net
<<: *defaults <<: *defaults
- name: movie-roulette
url: https://movie-roulette.alexlebens.net
<<: *defaults
- name: jellyfin - name: jellyfin
url: https://jellyfin.alexlebens.net url: https://jellyfin.alexlebens.net
<<: *defaults <<: *defaults
@@ -131,6 +134,9 @@ gatus:
- name: immich - name: immich
url: https://immich.alexlebens.net url: https://immich.alexlebens.net
<<: *defaults <<: *defaults
- name: photoview
url: https://photoview.alexlebens.net
<<: *defaults
- name: foldergram - name: foldergram
url: https://foldergram.alexlebens.net url: https://foldergram.alexlebens.net
<<: *defaults <<: *defaults
@@ -179,6 +185,9 @@ gatus:
- name: komodo - name: komodo
url: https://komodo.alexlebens.net url: https://komodo.alexlebens.net
<<: *defaults <<: *defaults
- name: argo-workflows
url: https://argo-workflows.alexlebens.net
<<: *defaults
- name: omni-tools - name: omni-tools
url: https://omni-tools.alexlebens.net url: https://omni-tools.alexlebens.net
<<: *defaults <<: *defaults
@@ -350,7 +359,7 @@ gatus:
<<: *defaults <<: *defaults
group: external group: external
- name: outline - name: outline
url: https://outline.alexlebens.dev url: https://wiki.alexlebens.dev
<<: *defaults <<: *defaults
group: external group: external
- name: vaultwarden - name: vaultwarden
@@ -371,6 +380,10 @@ gatus:
url: https://gitea.alexlebens.dev url: https://gitea.alexlebens.dev
<<: *defaults <<: *defaults
group: external group: external
- name: codeserver
url: https://codeserver.alexlebens.dev
<<: *defaults
group: external
- name: authentik - name: authentik
url: https://auth.alexlebens.dev url: https://auth.alexlebens.dev
<<: *defaults <<: *defaults

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: generic-device-plugin - name: generic-device-plugin
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
version: 0.20.28 version: 0.20.27
digest: sha256:16e4470b394110a11721fe38a57ad1cfa7c994bca440bfbbc5b3b7a46a79f165 digest: sha256:b66a7ab013f5eda47ccf94824796e026642e1abfc051e498957ee0f59743e9fc
generated: "2026-04-05T02:12:22.980217268Z" generated: "2026-03-31T21:37:08.823163353Z"

View File

@@ -14,6 +14,6 @@ maintainers:
dependencies: dependencies:
- name: generic-device-plugin - name: generic-device-plugin
repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm repository: https://gitea.alexlebens.dev/api/packages/alexlebens/helm
version: 0.20.28 version: 0.20.27
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: 1.0.0 appVersion: 1.0.0

View File

@@ -13,7 +13,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
@@ -23,5 +23,5 @@ dependencies:
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:4dc7ea441a81261a431f917521e528819ab708f6ddb4b3a77412464aecec3598 digest: sha256:a31820970bf7a7e5fa51ff09668238ab5e3b9d4433a71e35d07b779ff632b94c
generated: "2026-04-04T21:14:18.193631-05:00" generated: "2026-04-01T21:57:18.743604859Z"

View File

@@ -39,7 +39,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey-gitea alias: valkey-gitea

View File

@@ -245,6 +245,7 @@ postgres-18-cluster:
resources: resources:
requests: requests:
cpu: 100m cpu: 100m
memory: 150Mi
recovery: recovery:
method: objectStore method: objectStore
objectStore: objectStore:

View File

@@ -4,12 +4,12 @@ dependencies:
version: 5.22.2 version: 5.22.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
digest: sha256:6c096d1ce729469f12e66b2d0d0c677990d06643ff49401ee8fa69f5ed738e9c digest: sha256:1f6bf4f0f24f85d8c362766010e4f42d26458c0412b67afab9b05f2e17eacced
generated: "2026-04-04T21:02:18.686653-05:00" generated: "2026-03-31T19:12:08.326471-05:00"

View File

@@ -20,7 +20,7 @@ dependencies:
repository: https://grafana.github.io/helm-charts repository: https://grafana.github.io/helm-charts
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey-unified-alerting alias: valkey-unified-alerting

View File

@@ -145,6 +145,12 @@ homepage:
href: https://yamtrack.alexlebens.net href: https://yamtrack.alexlebens.net
siteMonitor: http://yamtrack.yamtrack:80 siteMonitor: http://yamtrack.yamtrack:80
statusStyle: dot statusStyle: dot
- Movie Roulette:
icon: https://raw.githubusercontent.com/sahara101/Movie-Roulette/refs/heads/main/static/icons/icon.png
description: Movie Roulette
href: https://movie-roulette.alexlebens.net
siteMonitor: http://movie-roulette.movie-roulette:80
statusStyle: dot
- Movies and TV: - Movies and TV:
icon: sh-jellyfin.webp icon: sh-jellyfin.webp
description: Jellyfin description: Jellyfin
@@ -175,6 +181,12 @@ homepage:
href: https://immich.alexlebens.net href: https://immich.alexlebens.net
siteMonitor: http://immich.immich:2283 siteMonitor: http://immich.immich:2283
statusStyle: dot statusStyle: dot
- Pictures:
icon: sh-photoview.webp
description: Photoview
href: https://photoview.alexlebens.net
siteMonitor: http://photoview.photoview:80
statusStyle: dot
- Pictures: - Pictures:
icon: sh-foldergram.webp icon: sh-foldergram.webp
description: Foldergram description: Foldergram
@@ -196,7 +208,7 @@ homepage:
statusStyle: dot statusStyle: dot
- Documentation: - Documentation:
icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png
description: Homelab Docs description: Documentation Wiki
href: https://docs.alexlebens.dev href: https://docs.alexlebens.dev
siteMonitor: https://docs.alexlebens.dev siteMonitor: https://docs.alexlebens.dev
statusStyle: dot statusStyle: dot
@@ -224,11 +236,11 @@ homepage:
href: https://chat.alexlebens.dev href: https://chat.alexlebens.dev
siteMonitor: https://chat.alexlebens.dev siteMonitor: https://chat.alexlebens.dev
statusStyle: dot statusStyle: dot
- Knowledge Base: - Wiki:
icon: sh-outline.webp icon: sh-outline.webp
description: Outline description: Outline
href: https://outline.alexlebens.dev href: https://wiki.alexlebens.dev
siteMonitor: https://outline.alexlebens.dev siteMonitor: https://wiki.alexlebens.dev
statusStyle: dot statusStyle: dot
- Passwords: - Passwords:
icon: sh-vaultwarden-light.webp icon: sh-vaultwarden-light.webp
@@ -297,7 +309,7 @@ homepage:
href: https://paperless-ngx.alexlebens.net href: https://paperless-ngx.alexlebens.net
siteMonitor: http://paperless-ngx.paperless-ngx:80 siteMonitor: http://paperless-ngx.paperless-ngx:80
statusStyle: dot statusStyle: dot
- Wikipedia: - Wiki:
icon: sh-kiwix-light.webp icon: sh-kiwix-light.webp
description: Kiwix description: Kiwix
href: https://kiwix.alexlebens.net href: https://kiwix.alexlebens.net
@@ -338,6 +350,12 @@ homepage:
href: https://gitea-ps10rp.boreal-beaufort.ts.net href: https://gitea-ps10rp.boreal-beaufort.ts.net
siteMonitor: https://gitea-ps10rp.boreal-beaufort.ts.net siteMonitor: https://gitea-ps10rp.boreal-beaufort.ts.net
statusStyle: dot statusStyle: dot
- IDE (External):
icon: sh-visual-studio-code.webp
description: VS Code
href: https://codeserver.alexlebens.dev
siteMonitor: https://codeserver.alexlebens.dev
statusStyle: dot
- IDE (Home Assistant): - IDE (Home Assistant):
icon: sh-visual-studio-code.webp icon: sh-visual-studio-code.webp
description: Edit config for Home Assistant description: Edit config for Home Assistant
@@ -375,6 +393,12 @@ homepage:
secret: {{ "{{HOMEPAGE_VAR_KOMODO_API_SECRET}}" }} secret: {{ "{{HOMEPAGE_VAR_KOMODO_API_SECRET}}" }}
showStacks: true showStacks: true
fields: ["running", "down", "unhealthy", "unknown"] fields: ["running", "down", "unhealthy", "unknown"]
- Deployment Workflows:
icon: sh-argo-cd.webp
description: Argo Workflows
href: https://argo-workflows.alexlebens.net
siteMonitor: http://argo-workflows-server.argo-workflows:2746
statusStyle: dot
- Uptime: - Uptime:
icon: sh-gatus.webp icon: sh-gatus.webp
description: Gatus description: Gatus
@@ -837,7 +861,7 @@ homepage:
siteMonitor: http://yubal.yubal:80 siteMonitor: http://yubal.yubal:80
statusStyle: dot statusStyle: dot
- Music Grabber: - Music Grabber:
icon: sh-music-grabber.webp icon: sh-music-service.webp
description: Replicate Music playlists description: Replicate Music playlists
href: https://music-grabber.alexlebens.net href: https://music-grabber.alexlebens.net
siteMonitor: http://music-grabber.music-grabber:80 siteMonitor: http://music-grabber.music-grabber:80

View File

@@ -25,4 +25,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/houndarr.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/houndarr.png
# renovate: datasource=github-releases depName=av1155/houndarr # renovate: datasource=github-releases depName=av1155/houndarr
appVersion: v1.7.0 appVersion: v1.6.6

View File

@@ -8,7 +8,7 @@ houndarr:
main: main:
image: image:
repository: ghcr.io/av1155/houndarr repository: ghcr.io/av1155/houndarr
tag: v1.7.0@sha256:8ae2a8b86497cbc54d11591c12220f3be3319039c2bdd0c8b041b2b7c2fd7943 tag: v1.6.6@sha256:6ecf6c92759a82068a3fbef3eae9065c88e1d8706b538832d07dc4854bc94ec0
env: env:
- name: TZ - name: TZ
value: America/Chicago value: America/Chicago

View File

@@ -4,12 +4,12 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:8b9129d1bbef82d6e0033610da9c25b2b98ce078027d389429cd947c8d22823e digest: sha256:b52be61811b2c4b8f1ac733be19de51e33540589b71337af99fc97727a1894e8
generated: "2026-04-04T21:02:46.154937-05:00" generated: "2026-04-01T19:49:30.408077-05:00"

View File

@@ -21,7 +21,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey alias: valkey

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:4ff8555c97c457923957fac499a0c9469edac8b3dd7ab0fab46f7d4e07e8eff5 digest: sha256:a5b2ddd5097971d246b0d1f519ffafb662594d9f84ddc854b8eedf8702d2035f
generated: "2026-04-04T21:02:58.694365-05:00" generated: "2026-04-01T19:49:45.674314-05:00"

View File

@@ -21,7 +21,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-data alias: volsync-target-data

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:ed3362c98ab60b195a47d0789f2420e041e907be955cdd122f84e363a00f4c73 digest: sha256:9af0fa5ab5e1895e94d64ea5983b5ee58c8b4dd9c5c8ef8021c8c7f950fd54c4
generated: "2026-04-04T21:03:12.459168-05:00" generated: "2026-04-02T20:28:17.818342-05:00"

View File

@@ -23,7 +23,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgresql-17-fdb-cluster alias: postgresql-17-fdb-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-keys alias: volsync-target-keys

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: kube-prometheus-stack - name: kube-prometheus-stack
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
version: 82.18.0 version: 82.17.1
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 4.6.2
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
digest: sha256:bd480d8e4de9a528a73ec1bbadff5afb4d1f37ba6a85d98ec82a607283148f3d digest: sha256:8c2a56a7d6bf858a59e6a46a7ff2d3cbfdf022adb985254ec869e348d3ddb68b
generated: "2026-04-04T21:48:51.739477322Z" generated: "2026-04-04T12:02:57.648448879Z"

View File

@@ -18,7 +18,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: kube-prometheus-stack - name: kube-prometheus-stack
version: 82.18.0 version: 82.17.1
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
- name: app-template - name: app-template
alias: ntfy-alertmanager alias: ntfy-alertmanager

View File

@@ -12,7 +12,7 @@ kubernetes-cloudflare-ddns:
main: main:
image: image:
repository: kubitodev/kubernetes-cloudflare-ddns repository: kubitodev/kubernetes-cloudflare-ddns
tag: 2.0.0@sha256:80979b046e32ecccedfa6c00804676d070ef87c7f77a65e4afa4e91ffdeb7309 tag: 2.0.0sha256:80979b046e32ecccedfa6c00804676d070ef87c7f77a65e4afa4e91ffdeb7309
envFrom: envFrom:
- secretRef: - secretRef:
name: kubernetes-cloudflare-ddns-secret name: kubernetes-cloudflare-ddns-secret

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:eaa092df6ae81137c5a62622f9e09495a9bc886ae908202b120969948206d786 digest: sha256:28d9013864be22eb7085fc88a45c0b8a555a582026c779dd72fca4a2e1728d2a
generated: "2026-04-04T21:03:34.837519-05:00" generated: "2026-04-03T19:30:51.252965-05:00"

View File

@@ -25,7 +25,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-config alias: volsync-target-config

View File

@@ -19,7 +19,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.11.1
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.5.0
@@ -38,5 +38,5 @@ dependencies:
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:0e8b1b79a98952ed49c87c6da83dcc2eed2aabbd755d9ebf1bdd3090f3ccc44c digest: sha256:70a7f9dc242a1102eafa0b8a5c481954793d3450eea907c7fb5fd86cb81b1bea
generated: "2026-04-04T21:03:48.737144-05:00" generated: "2026-04-03T21:00:39.545529-05:00"

View File

@@ -50,7 +50,7 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey-matrix-synapse alias: valkey-matrix-synapse

View File

@@ -242,6 +242,10 @@ mautrix-discord:
# image: # image:
# repository: busybox # repository: busybox
# tag: 1.37.0 # tag: 1.37.0
# resources:
# requests:
# cpu: 10m
# memory: 128Mi
# command: # command:
# - /bin/sh # - /bin/sh
# - -ec # - -ec
@@ -318,6 +322,10 @@ mautrix-whatsapp:
# image: # image:
# repository: busybox # repository: busybox
# tag: 1.37.0 # tag: 1.37.0
# resources:
# requests:
# cpu: 10m
# memory: 128Mi
# command: # command:
# - /bin/sh # - /bin/sh
# - -ec # - -ec
@@ -332,7 +340,7 @@ mautrix-whatsapp:
main: main:
image: image:
repository: dock.mau.dev/mautrix/whatsapp repository: dock.mau.dev/mautrix/whatsapp
tag: v0.2603.0@sha256:b49009312361d9ea0d7090716fd09f2323f477b32bd119648c6ca2d558a3e236 tag: v0.2602.0@sha256:07fca07f8746c09e6d5f486d002e638da014d0a134e053e2ed7af9875053104d
resources: resources:
requests: requests:
cpu: 1m cpu: 1m

View File

@@ -5,7 +5,7 @@ description: MediaLyze
keywords: keywords:
- medialyze - medialyze
- jellyfin - jellyfin
home: https://docs.alexlebens.dev/applications/medialyze/ home: https://wiki.alexlebens.dev/
sources: sources:
- https://github.com/frederikemmer/MediaLyze - https://github.com/frederikemmer/MediaLyze
- https://github.com/frederikemmer/MediaLyze/pkgs/container/medialyze - https://github.com/frederikemmer/MediaLyze/pkgs/container/medialyze

View File

@@ -4,15 +4,13 @@ medialyze:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
pod: revisionHistoryLimit: 3
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers: containers:
main: main:
image: image:
repository: ghcr.io/frederikemmer/medialyze repository: ghcr.io/frederikemmer/medialyze
tag: 0.4.1@sha256:d4f2e04d3759f308bea605c9b7242ab6da98813adc0b276dc3cbe9c283071eb8 tag: 0.4.1
pullPolicy: IfNotPresent
env: env:
- name: HOST_PORT - name: HOST_PORT
value: 8080 value: 8080
@@ -24,8 +22,8 @@ medialyze:
value: /media value: /media
resources: resources:
requests: requests:
cpu: 5m cpu: 10m
memory: 400Mi memory: 128Mi
service: service:
main: main:
controller: main controller: main
@@ -33,6 +31,7 @@ medialyze:
http: http:
port: 80 port: 80
targetPort: 8080 targetPort: 8080
protocol: HTTP
route: route:
main: main:
kind: HTTPRoute kind: HTTPRoute
@@ -45,8 +44,11 @@ medialyze:
- medialyze.alexlebens.net - medialyze.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: medialyze - group: ''
kind: Service
name: medialyze
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
@@ -57,6 +59,7 @@ medialyze:
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 1Gi size: 1Gi
retain: true
advancedMounts: advancedMounts:
main: main:
main: main:

View File

@@ -5,10 +5,10 @@ description: Metrics Server
keywords: keywords:
- metrics-server - metrics-server
- metrics - metrics
home: https://docs.alexlebens.dev/applications/metrics-server/ - kubernetes
home: https://wiki.alexlebens.dev/s/feb71856-e3d9-4655-9808-6c4bfb330872
sources: sources:
- https://github.com/kubernetes-sigs/metrics-server - https://github.com/kubernetes-sigs/metrics-server
- https://explore.ggcr.dev/?repo=registry.k8s.io%2Fmetrics-server%2Fmetrics-server
- https://github.com/kubernetes-sigs/metrics-server/tree/master/charts/metrics-server - https://github.com/kubernetes-sigs/metrics-server/tree/master/charts/metrics-server
maintainers: maintainers:
- name: alexlebens - name: alexlebens

View File

@@ -1,19 +1,12 @@
metrics-server: metrics-server:
image: replicas: 3
repository: registry.k8s.io/metrics-server/metrics-server metrics:
tag: v0.8.1@sha256:b2d2efaf5ac3b366ed0f839d2412a2c4279d4fc2a2a733f12c52133faed36c41 enabled: true
replicas: 2 serviceMonitor:
enabled: true
defaultArgs: defaultArgs:
- --cert-dir=/tmp - --cert-dir=/tmp
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port - --kubelet-use-node-status-port
- --metric-resolution=15s - --metric-resolution=15s
- --kubelet-insecure-tls - --kubelet-insecure-tls
metrics:
enabled: true
serviceMonitor:
enabled: true
resources:
requests:
cpu: 10m
memory: 60Mi

View File

@@ -0,0 +1,6 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
digest: sha256:faa35ccfc18b2d47fad558e168bd3c68e64790fe2b1356881452ae4f5cd8b443
generated: "2026-03-10T16:01:13.738843-05:00"

View File

@@ -0,0 +1,22 @@
apiVersion: v2
name: movie-roulette
version: 1.0.0
description: Movie Roulette
keywords:
- movie-roulette
- jellyfin
home: https://wiki.alexlebens.dev/
sources:
- https://github.com/sahara101/Movie-Roulette
- https://github.com/sahara101/Movie-Roulette/pkgs/container/movie-roulette
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
maintainers:
- name: alexlebens
dependencies:
- name: app-template
alias: movie-roulette
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
icon: https://raw.githubusercontent.com/sahara101/Movie-Roulette/refs/heads/main/static/icons/icon.png
# renovate: datasource=github-releases depName=sahara101/Movie-Roulette
appVersion: v5.4.2

View File

@@ -0,0 +1,42 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: movie-roulette-config-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: movie-roulette-config-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: secret-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/movie-roulette/key
metadataPolicy: None
property: secret-key
- secretKey: jellyfin-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellyfin/movie-roulette
metadataPolicy: None
property: jellyfin-key
- secretKey: jellyfin-user
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellyfin/movie-roulette
metadataPolicy: None
property: user
- secretKey: seerr-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/seerr/key
metadataPolicy: None
property: key

View File

@@ -0,0 +1,128 @@
movie-roulette:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/sahara101/movie-roulette
tag: v5.4.2
pullPolicy: IfNotPresent
env:
- name: FLASK_SECRET_KEY
valueFrom:
secretKeyRef:
name: movie-roulette-config-secret
key: secret-key
- name: CORS_ALLOWED_ORIGINS
value: movie-roulette.alexlebens.net
- name: DISABLE_SETTINGS
value: "TRUE"
- name: AUTH_ENABLED
value: "TRUE"
- name: AUTH_SESSION_LIFETIME
value: "86400"
- name: JELLYFIN_URL
value: http://jellyfin.alexlebens.net
- name: JELLYFIN_API_KEY
valueFrom:
secretKeyRef:
name: movie-roulette-config-secret
key: jellyfin-key
- name: JELLYFIN_USER_ID
valueFrom:
secretKeyRef:
name: movie-roulette-config-secret
key: jellyfin-user
- name: LOGIN_BACKDROP_ENABLED
value: "TRUE"
- name: HOMEPAGE_MODE
value: "FALSE"
- name: USE_LINKS
value: "TRUE"
- name: USE_FILTER
value: "TRUE"
- name: USE_WATCH_BUTTON
value: "TRUE"
- name: USE_NEXT_BUTTON
value: "TRUE"
- name: USE_GRID_VIEW
value: "true"
- name: ENABLE_MOBILE_TRUNCATION
value: "TRUE"
- name: SHOW_NOW_WATCHING_CARD
value: "FALSE"
- name: USE_HEROUI_THEME
value: "FALSE"
- name: ENABLE_MOVIE_LOGOS
value: "TRUE"
- name: LOAD_MOVIE_ON_START
value: "FALSE"
- name: SEERR_URL
value: http://seerr.alexlebens.net
- name: SEERR_API_KEY
valueFrom:
secretKeyRef:
name: movie-roulette-config-secret
key: seerr-key
- name: REQUEST_SERVICE_DEFAULT
value: "seerr"
resources:
requests:
cpu: 10m
memory: 128Mi
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 4000
protocol: HTTP
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- movie-roulette.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: movie-roulette
port: 80
weight: 100
matches:
- path:
type: PathPrefix
value: /
persistence:
data:
forceRename: movie-roulette-data
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 1Gi
retain: true
advancedMounts:
main:
main:
- path: /config
readOnly: false
volsync-target-data:
pvcTarget: movie-roulette-data
local:
enabled: true
schedule: 44 8 * * *
remote:
enabled: true
schedule: 44 9 * * *
external:
enabled: true
schedule: 44 10 * * *

View File

@@ -2,8 +2,5 @@ dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 4.6.2
- name: volsync-target digest: sha256:ed8d23326d2567f51cd8391aab6afd5f53c57df3c9f2bfc352cd22f9759d596e
repository: oci://harbor.alexlebens.net/helm-charts generated: "2026-02-20T18:33:14.633756-06:00"
version: 0.8.0
digest: sha256:abc3e3772be3542b02abd3453d3f23fd12bb11166202eaedd01b6fb67f040a3e
generated: "2026-04-04T17:57:13.966422-05:00"

View File

@@ -5,12 +5,11 @@ description: Music Grabber
keywords: keywords:
- music-grabber - music-grabber
- music - music
home: https://docs.alexlebens.dev/applications/music-grabber/ home: https://wiki.alexlebens.dev/s/
sources: sources:
- https://gitlab.com/g33kphr33k/musicgrabber - https://gitlab.com/g33kphr33k/musicgrabber
- https://hub.docker.com/r/g33kphr33k/musicgrabber - https://hub.docker.com/r/g33kphr33k/musicgrabber/tags
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers: maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
@@ -18,10 +17,5 @@ dependencies:
alias: music-grabber alias: music-grabber
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 4.6.2
- name: volsync-target
alias: volsync-target-data
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/music-grabber.png
# renovate: datasource=docker depName=g33kphr33k/musicgrabber # renovate: datasource=docker depName=g33kphr33k/musicgrabber
appVersion: 2.5.5 appVersion: 2.5.5

View File

@@ -14,19 +14,31 @@ spec:
data: data:
- secretKey: navidrome-user - secretKey: navidrome-user
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/navidrome/admin key: /cl01tl/navidrome/admin
metadataPolicy: None
property: user property: user
- secretKey: navidrome-password - secretKey: navidrome-password
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/navidrome/admin key: /cl01tl/navidrome/admin
metadataPolicy: None
property: password property: password
- secretKey: slskd-user - secretKey: slskd-user
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/slskd/auth key: /cl01tl/slskd/auth
metadataPolicy: None
property: user property: user
- secretKey: slskd-password - secretKey: slskd-password
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/slskd/auth key: /cl01tl/slskd/auth
metadataPolicy: None
property: password property: password
--- ---
@@ -46,17 +58,29 @@ spec:
data: data:
- secretKey: private-key - secretKey: private-key
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /airvpn/conf/cl01tl key: /airvpn/conf/cl01tl
metadataPolicy: None
property: private-key property: private-key
- secretKey: preshared-key - secretKey: preshared-key
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /airvpn/conf/cl01tl key: /airvpn/conf/cl01tl
metadataPolicy: None
property: preshared-key property: preshared-key
- secretKey: addresses - secretKey: addresses
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /airvpn/conf/cl01tl key: /airvpn/conf/cl01tl
metadataPolicy: None
property: addresses property: addresses
- secretKey: input-ports - secretKey: input-ports
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /airvpn/conf/cl01tl key: /airvpn/conf/cl01tl
metadataPolicy: None
property: input-ports property: input-ports

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: Namespace
metadata:
name: music-grabber
labels:
app.kubernetes.io/name: music-grabber
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
pod-security.kubernetes.io/audit: privileged
pod-security.kubernetes.io/enforce: privileged
pod-security.kubernetes.io/warn: privileged

View File

@@ -4,15 +4,13 @@ music-grabber:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
pod: revisionHistoryLimit: 3
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers: containers:
main: main:
image: image:
repository: g33kphr33k/musicgrabber repository: g33kphr33k/musicgrabber
tag: 2.5.5@sha256:756ce91653b2f5f17f8f47e5c91f07df5af82162608acdf507e6209a16725373 tag: 2.5.5
pullPolicy: IfNotPresent
env: env:
- name: MUSIC_DIR - name: MUSIC_DIR
value: /mnt/store/Music Grabber/ value: /mnt/store/Music Grabber/
@@ -51,7 +49,73 @@ music-grabber:
cpu: 100m cpu: 100m
requests: requests:
cpu: 10m cpu: 10m
memory: 50Mi memory: 512Mi
# gluetun:
# image:
# repository: ghcr.io/qdm12/gluetun
# tag: v3.41.1@sha256:1a5bf4b4820a879cdf8d93d7ef0d2d963af56670c9ebff8981860b6804ebc8ab
# pullPolicy: IfNotPresent
# lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "(ip rule del table 51820; ip -6 rule del table 51820) || true"]
# env:
# - name: VPN_SERVICE_PROVIDER
# value: airvpn
# - name: VPN_TYPE
# value: wireguard
# - name: WIREGUARD_PRIVATE_KEY
# valueFrom:
# secretKeyRef:
# name: music-grabber-wireguard-conf
# key: private-key
# - name: WIREGUARD_PRESHARED_KEY
# valueFrom:
# secretKeyRef:
# name: music-grabber-wireguard-conf
# key: preshared-key
# - name: WIREGUARD_ADDRESSES
# valueFrom:
# secretKeyRef:
# name: music-grabber-wireguard-conf
# key: addresses
# - name: FIREWALL_OUTBOUND_SUBNETS
# value: 10.0.0.0/8
# - name: FIREWALL_INPUT_PORTS
# value: 8080
# - name: DNS_UPSTREAM_RESOLVER_TYPE
# value: dot
# - name: HTTPPROXY
# value: "off"
# - name: SHADOWSOCKS
# value: "off"
# securityContext:
# privileged: True
# capabilities:
# add:
# - NET_ADMIN
# - SYS_MODULE
# probes:
# liveness:
# enabled: true
# custom: true
# spec:
# exec:
# command:
# - /gluetun-entrypoint
# - healthcheck
# failureThreshold: 5
# initialDelaySeconds: 30
# periodSeconds: 30
# successThreshold: 1
# timeoutSeconds: 15
# resources:
# limits:
# devic.es/tun: "1"
# requests:
# devic.es/tun: "1"
# cpu: 10m
# memory: 128Mi
service: service:
main: main:
controller: main controller: main
@@ -59,6 +123,7 @@ music-grabber:
http: http:
port: 80 port: 80
targetPort: 8080 targetPort: 8080
protocol: HTTP
route: route:
main: main:
kind: HTTPRoute kind: HTTPRoute
@@ -71,18 +136,21 @@ music-grabber:
- music-grabber.alexlebens.net - music-grabber.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: music-grabber - group: ''
kind: Service
name: music-grabber
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
persistence: persistence:
data: cache:
forceRename: music-grabber-data
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 1Gi size: 1Gi
retain: true
advancedMounts: advancedMounts:
main: main:
main: main:
@@ -95,14 +163,3 @@ music-grabber:
main: main:
- path: /mnt/store/ - path: /mnt/store/
readOnly: false readOnly: false
volsync-target-data:
pvcTarget: music-grabber-data
local:
enabled: true
schedule: 46 8 * * *
remote:
enabled: true
schedule: 46 9 * * *
external:
enabled: true
schedule: 46 10 * * *

View File

@@ -6,14 +6,11 @@ keywords:
- navidrome - navidrome
- feishin - feishin
- music - music
home: https://docs.alexlebens.dev/applications/navidrome/ home: https://wiki.alexlebens.dev/s/
sources: sources:
- https://github.com/navidrome/navidrome - https://github.com/navidrome/navidrome
- https://github.com/jeffvli/feishin - https://github.com/jeffvli/feishin
- https://github.com/navidrome/navidrome/pkgs/container/navidrome
- https://github.com/jeffvli/feishin/pkgs/container/feishin
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers: maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:

View File

@@ -4,15 +4,13 @@ navidrome:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
pod: revisionHistoryLimit: 3
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
containers: containers:
main: main:
image: image:
repository: ghcr.io/navidrome/navidrome repository: deluan/navidrome
tag: 0.61.1@sha256:1e1660054a856cc09f227d6929252e45a519fdb16004b464dd637f7294ca3ec1 tag: 0.61.0@sha256:b14a6acb5cd5ee73f3a13d63d8d68ede82dedb796aa522fbada94769d990cf0b
pullPolicy: IfNotPresent
env: env:
- name: ND_MUSICFOLDER - name: ND_MUSICFOLDER
value: /music value: /music
@@ -34,16 +32,18 @@ navidrome:
requests: requests:
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
cpu: 10m cpu: 10m
memory: 50Mi memory: 128Mi
feishin: feishin:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
containers: containers:
main: main:
image: image:
repository: ghcr.io/jeffvli/feishin repository: ghcr.io/jeffvli/feishin
tag: 1.9.0@sha256:5e6959afd27dabadd8f68fed8b0485d851593c61ca558194295bf8950262cc07 tag: 1.0.1-beta.1@sha256:61239641f23a33f99c2858419b14afb66683f3cd82010363fba92be3993fd894
pullPolicy: IfNotPresent
env: env:
- name: SERVER_NAME - name: SERVER_NAME
value: talos value: talos
@@ -53,10 +53,6 @@ navidrome:
value: navidrome value: navidrome
- name: SERVER_URL - name: SERVER_URL
value: https://navidrome.alexlebens.net value: https://navidrome.alexlebens.net
resources:
requests:
cpu: 1m
memory: 20Mi
service: service:
main: main:
controller: main controller: main
@@ -64,12 +60,14 @@ navidrome:
http: http:
port: 80 port: 80
targetPort: 4533 targetPort: 4533
protocol: HTTP
feishin: feishin:
controller: feishin controller: feishin
ports: ports:
http: http:
port: 80 port: 80
targetPort: 9180 targetPort: 9180
protocol: HTTP
serviceMonitor: serviceMonitor:
main: main:
selector: selector:
@@ -96,8 +94,11 @@ navidrome:
- navidrome.alexlebens.net - navidrome.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: navidrome-main - group: ''
kind: Service
name: navidrome-main
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
@@ -113,8 +114,11 @@ navidrome:
- feishin.alexlebens.net - feishin.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: navidrome-feishin - group: ''
kind: Service
name: navidrome-feishin
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix

View File

@@ -5,10 +5,10 @@ description: Node Feature Discovery
keywords: keywords:
- node-feature-discovery - node-feature-discovery
- labels - labels
home: https://docs.alexlebens.dev/applications/node-feature-discovery/ - kubernetes
home: https://wiki.alexlebens.dev/s/b6fb2588-8212-4dca-b4c6-3021020b2ae1
sources: sources:
- https://github.com/kubernetes-sigs/node-feature-discovery - https://github.com/kubernetes-sigs/node-feature-discovery
- https://console.cloud.google.com/artifacts/docker/k8s-staging-nfd/us/gcr.io/node-feature-discovery
- https://github.com/kubernetes-sigs/node-feature-discovery/tree/master/deployment/helm/node-feature-discovery - https://github.com/kubernetes-sigs/node-feature-discovery/tree/master/deployment/helm/node-feature-discovery
maintainers: maintainers:
- name: alexlebens - name: alexlebens

View File

@@ -1,18 +1,12 @@
node-feature-discovery: node-feature-discovery:
image:
repository: gcr.io/k8s-staging-nfd/node-feature-discovery
tag: v0.18.3@sha256:f9ef2ebee55141a1758d3c0a87bb701f5db2adf6856f7218b11bc2bac7b63862
pullPolicy: IfNotPresent
featureGates: featureGates:
NodeFeatureGroupAPI: true NodeFeatureGroupAPI: true
master: master:
replicaCount: 1 replicaCount: 2
resources: resources:
limits:
memory: null
requests: requests:
cpu: 10m cpu: 20m
memory: 20Mi memory: 60Mi
tolerations: tolerations:
- key: node-role.kubernetes.io/control-plane - key: node-role.kubernetes.io/control-plane
operator: Exists operator: Exists
@@ -66,23 +60,17 @@ node-feature-discovery:
class: ["0300"] class: ["0300"]
vendor: ["8086"] vendor: ["8086"]
resources: resources:
limits:
memory: null
requests: requests:
cpu: 1m cpu: 20m
memory: 20Mi memory: 60Mi
tolerations: tolerations:
- key: node-role.kubernetes.io/control-plane - key: node-role.kubernetes.io/control-plane
operator: Exists operator: Exists
effect: NoSchedule effect: NoSchedule
topologyUpdater:
enable: false
gc: gc:
resources: resources:
limits:
memory: null
requests: requests:
cpu: 1m cpu: 20m
memory: 20Mi memory: 60Mi
prometheus: prometheus:
enable: true enable: true

View File

@@ -2,8 +2,5 @@ dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 4.6.2
- name: postgres-cluster digest: sha256:30d747f8b08ed690202fda39ab6e19bd74ebc45548847a087ddbf175abe1438c
repository: oci://harbor.alexlebens.net/helm-charts generated: "2026-01-16T18:50:22.233502056Z"
version: 7.11.2
digest: sha256:a689da8f05654c3e83e3f1459670cc201c28b9b4444c6891dca7ac4b70c5a4be
generated: "2026-04-04T19:19:40.397469-05:00"

View File

@@ -5,7 +5,8 @@ description: Ntfy
keywords: keywords:
- ntfy - ntfy
- notifications - notifications
home: https://docs.alexlebens.dev/applications/ntfy/ - messaging
home: https://wiki.alexlebens.dev/s/5bfc09dd-688b-48f0-8d33-b9bf452df98a
sources: sources:
- https://github.com/binwiederhier/ntfy - https://github.com/binwiederhier/ntfy
- https://hub.docker.com/r/binwiederhier/ntfy - https://hub.docker.com/r/binwiederhier/ntfy
@@ -17,10 +18,6 @@ dependencies:
alias: ntfy alias: ntfy
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2 version: 4.6.2
- name: postgres-cluster
alias: postgres-18-cluster
version: 7.11.2
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ntfy.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ntfy.png
# renovate: datasource=github-releases depName=binwiederhier/ntfy # renovate: datasource=github-releases depName=binwiederhier/ntfy
appVersion: 2.21.0 appVersion: 2.21.0

View File

@@ -4,59 +4,80 @@ ntfy:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
containers: containers:
main: main:
image: image:
repository: binwiederhier/ntfy repository: binwiederhier/ntfy
tag: v2.21.0@sha256:2b9e12d56a538f4402da51328eeca02696c4b207ab7fbe031c27e51a22ca9b86 tag: v2.21.0
pullPolicy: IfNotPresent
args: ["serve"] args: ["serve"]
env: env:
- name: TZ - name: TZ
value: America/Chicago value: US/Central
- name: NTFY_BASE_URL - name: NTFY_BASE_URL
value: https://ntfy.alexlebens.net value: https://ntfy.alexlebens.net
- name: NTFY_LISTEN_HTTP - name: NTFY_LISTEN_HTTP
value: :80 value: :80
- name: NTFY_CACHE_FILE
value: /var/cache/ntfy/cache.db
- name: NTFY_CACHE_DURATION - name: NTFY_CACHE_DURATION
value: 36h value: 36h
- name: NTFY_CACHE_STARTUP_QUERIES
value: |
pragma journal_mode = WAL;
pragma synchronous = normal;
pragma temp_store = memory;
pragma busy_timeout = 15000;
vacuum;
- name: NTFY_BEHIND_PROXY - name: NTFY_BEHIND_PROXY
value: true value: true
- name: NTFY_DATABASE_URL
valueFrom:
secretKeyRef:
name: ntfy-postgresql-18-cluster-app
key: uri
- name: NTFY_ATTACHMENT_CACHE_DIR - name: NTFY_ATTACHMENT_CACHE_DIR
valueFrom: value: /var/cache/ntfy/attachments
secretKeyRef:
name: ntfy-config-secret
key: attachment-cache-dir
- name: NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT - name: NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT
value: 10G value: 4G
- name: NTFY_ATTACHMENT_FILE_SIZE_LIMIT - name: NTFY_ATTACHMENT_FILE_SIZE_LIMIT
value: 150M value: 15M
- name: NTFY_ATTACHMENT_EXPIRY_DURATION - name: NTFY_ATTACHMENT_EXPIRY_DURATION
value: 72h value: 36h
- name: NTFY_ENABLE_SIGNUP - name: NTFY_ENABLE_SIGNUP
value: false value: false
- name: NTFY_ENABLE_LOGIN - name: NTFY_ENABLE_LOGIN
value: true value: true
- name: NTFY_ENABLE_RESERVATIONS - name: NTFY_ENABLE_RESERVATIONS
value: false value: false
# - name: NTFY_UPSTREAM_BASE_URL
# value: https://ntfy.sh
- name: NTFY_AUTH_FILE
value: /var/cache/ntfy/user.db
- name: NTFY_AUTH_DEFAULT_ACCESS - name: NTFY_AUTH_DEFAULT_ACCESS
value: deny-all value: deny-all
# - name: NTFY_UPSTREAM_ACCESS_TOKEN
# value: ""
# - name: NTFY_WEB_PUSH_PUBLIC_KEY
# value: ""
# - name: NTFY_WEB_PUSH_PRIVATE_KEY
# value: ""
# - name: NTFY_WEB_PUSH_FILE
# value: /var/lib/ntfy/webpush.db
# - name: NTFY_WEB_PUSH_EMAIL_ADDRESS
# value: ""
- name: NTFY_METRICS_LISTEN_HTTP - name: NTFY_METRICS_LISTEN_HTTP
value: :9090 value: :9090
- name: NTFY_LOG_LEVEL - name: NTFY_LOG_LEVEL
value: info value: info
probes: probes:
liveness: liveness:
enabled: true enabled: false
custom: true custom: true
spec: spec:
httpGet: exec:
path: /v1/health command:
port: 80 - /usr/bin/env
- sh
- -c
- wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1
failureThreshold: 10
initialDelaySeconds: 60 initialDelaySeconds: 60
periodSeconds: 60 periodSeconds: 60
successThreshold: 1 successThreshold: 1
@@ -64,7 +85,7 @@ ntfy:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 40Mi memory: 128Mi
service: service:
main: main:
controller: main controller: main
@@ -72,9 +93,11 @@ ntfy:
http: http:
port: 80 port: 80
targetPort: 80 targetPort: 80
protocol: HTTP
metrics: metrics:
port: 9090 port: 9090
targetPort: 9090 targetPort: 9090
protocol: HTTP
serviceMonitor: serviceMonitor:
main: main:
selector: selector:
@@ -99,28 +122,22 @@ ntfy:
- ntfy.alexlebens.net - ntfy.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: ntfy - group: ''
kind: Service
name: ntfy
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: / value: /
postgres-18-cluster: persistence:
mode: recovery cache:
recovery: storageClass: ceph-block
method: objectStore accessMode: ReadWriteOnce
objectStore: size: 5Gi
index: 1 advancedMounts:
backup: main:
objectStore: main:
- name: garage-local - path: /var/cache/ntfy
index: 1 readOnly: false
destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
scheduledBackups:
- name: live-backup
suspend: false
immediate: true
schedule: "0 15 14 * * *"
backupName: garage-local

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:440e79999ff635a9c687e92515866b741dc610743753f2d494f3ef523a4746a7 digest: sha256:d0f47712bf5d2bab8136c43f1d5bac41860f067b53c741282a4647ce93a7cd93
generated: "2026-04-04T21:04:23.125059-05:00" generated: "2026-03-15T20:07:27.179378683Z"

View File

@@ -5,15 +5,15 @@ description: Ollama
keywords: keywords:
- ollama - ollama
- ai - ai
home: https://docs.alexlebens.dev/applications/ollama/ home: https://wiki.alexlebens.dev/s/9f4823e0-8488-4c23-b85e-81ca0ee7ea1a
sources: sources:
- https://github.com/ollama/ollama - https://github.com/ollama/ollama
- https://github.com/open-webui/open-webui - https://github.com/open-webui/open-webui
- https://github.com/cloudnative-pg/cloudnative-pg
- https://hub.docker.com/r/ollama/ollama - https://hub.docker.com/r/ollama/ollama
- https://github.com/open-webui/open-webui/pkgs/container/open-webui - https://github.com/open-webui/open-webui/pkgs/container/open-webui
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers: maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
@@ -23,7 +23,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-data alias: volsync-target-data

View File

@@ -15,7 +15,10 @@ spec:
data: data:
- secretKey: key - secretKey: key
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/ollama/key key: /cl01tl/ollama/key
metadataPolicy: None
property: key property: key
--- ---
@@ -35,9 +38,15 @@ spec:
data: data:
- secretKey: client - secretKey: client
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/ollama key: /authentik/oidc/ollama
metadataPolicy: None
property: client property: client
- secretKey: secret - secretKey: secret
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/ollama key: /authentik/oidc/ollama
metadataPolicy: None
property: secret property: secret

View File

@@ -4,6 +4,7 @@ ollama:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
pod: pod:
labels: labels:
ollama-type: server ollama-type: server
@@ -21,7 +22,8 @@ ollama:
main: main:
image: image:
repository: ollama/ollama repository: ollama/ollama
tag: 0.20.0@sha256:6eb118589b440c05b62e7e5e73a0bdf7240f6c79d968e60e6fd49f919eee5733 tag: 0.20.0
pullPolicy: IfNotPresent
env: env:
- name: OLLAMA_KEEP_ALIVE - name: OLLAMA_KEEP_ALIVE
value: 24h value: 24h
@@ -31,13 +33,14 @@ ollama:
limits: limits:
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
requests: requests:
cpu: 10m cpu: 100m
memory: 20Mi memory: 1Gi
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
server-2: server-2:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
pod: pod:
labels: labels:
ollama-type: server ollama-type: server
@@ -55,7 +58,8 @@ ollama:
main: main:
image: image:
repository: ollama/ollama repository: ollama/ollama
tag: 0.20.0@sha256:6eb118589b440c05b62e7e5e73a0bdf7240f6c79d968e60e6fd49f919eee5733 tag: 0.20.0
pullPolicy: IfNotPresent
env: env:
- name: OLLAMA_KEEP_ALIVE - name: OLLAMA_KEEP_ALIVE
value: 24h value: 24h
@@ -65,13 +69,14 @@ ollama:
limits: limits:
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
requests: requests:
cpu: 10m cpu: 100m
memory: 20Mi memory: 1Gi
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
server-3: server-3:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
pod: pod:
labels: labels:
ollama-type: server ollama-type: server
@@ -89,7 +94,8 @@ ollama:
main: main:
image: image:
repository: ollama/ollama repository: ollama/ollama
tag: 0.20.0@sha256:6eb118589b440c05b62e7e5e73a0bdf7240f6c79d968e60e6fd49f919eee5733 tag: 0.20.0
pullPolicy: IfNotPresent
env: env:
- name: OLLAMA_KEEP_ALIVE - name: OLLAMA_KEEP_ALIVE
value: 24h value: 24h
@@ -99,18 +105,20 @@ ollama:
limits: limits:
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
requests: requests:
cpu: 10m cpu: 100m
memory: 20Mi memory: 1Gi
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
web: web:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
containers: containers:
main: main:
image: image:
repository: ghcr.io/open-webui/open-webui repository: ghcr.io/open-webui/open-webui
tag: v0.8.12@sha256:8113fa5510020ef05a44afc0c42d33eabeeb2524a996e3e3fb8c437c00f0d792 tag: v0.8.12
pullPolicy: IfNotPresent
env: env:
- name: ENV - name: ENV
value: prod value: prod
@@ -157,7 +165,7 @@ ollama:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 650Mi memory: 1Gi
service: service:
server-1: server-1:
controller: server-1 controller: server-1
@@ -165,24 +173,28 @@ ollama:
http: http:
port: 11434 port: 11434
targetPort: 11434 targetPort: 11434
protocol: HTTP
server-2: server-2:
controller: server-2 controller: server-2
ports: ports:
http: http:
port: 11434 port: 11434
targetPort: 11434 targetPort: 11434
protocol: HTTP
server-3: server-3:
controller: server-3 controller: server-3
ports: ports:
http: http:
port: 11434 port: 11434
targetPort: 11434 targetPort: 11434
protocol: HTTP
web: web:
controller: web controller: web
ports: ports:
http: http:
port: 80 port: 80
targetPort: 8080 targetPort: 8080
protocol: HTTP
route: route:
main: main:
kind: HTTPRoute kind: HTTPRoute
@@ -195,8 +207,11 @@ ollama:
- ollama.alexlebens.net - ollama.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: ollama-web - group: ''
kind: Service
name: ollama-web
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
@@ -206,6 +221,7 @@ ollama:
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 40Gi size: 40Gi
retain: true
advancedMounts: advancedMounts:
server-1: server-1:
main: main:
@@ -215,6 +231,7 @@ ollama:
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 40Gi size: 40Gi
retain: true
advancedMounts: advancedMounts:
server-2: server-2:
main: main:
@@ -224,6 +241,7 @@ ollama:
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 40Gi size: 40Gi
retain: true
advancedMounts: advancedMounts:
server-3: server-3:
main: main:
@@ -234,6 +252,7 @@ ollama:
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 5Gi size: 5Gi
retain: true
advancedMounts: advancedMounts:
web: web:
main: main:
@@ -253,12 +272,35 @@ postgres-18-cluster:
destinationBucket: postgres-backups destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true isWALArchiver: true
# - name: garage-remote
# index: 1
# destinationBucket: postgres-backups
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# retentionPolicy: "90d"
# data:
# compression: bzip2
# - name: external
# index: 1
# endpointURL: https://nyc3.digitaloceanspaces.com
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# isWALArchiver: false
scheduledBackups: scheduledBackups:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 5 15 * * *" schedule: "0 5 15 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup
# suspend: true
# immediate: true
# schedule: "0 0 4 * * SAT"
# backupName: garage-remote
# - name: daily-backup
# suspend: true
# immediate: true
# schedule: "0 0 0 * * *"
# backupName: external
volsync-target-data: volsync-target-data:
pvcTarget: ollama-web-data pvcTarget: ollama-web-data
moverSecurityContext: moverSecurityContext:

View File

@@ -4,7 +4,7 @@ version: 1.0.0
description: OmniTools description: OmniTools
keywords: keywords:
- omni-tools - omni-tools
home: https://docs.alexlebens.dev/applications/omni-tools/ home: https://wiki.alexlebens.dev/s/8820cd36-dcf6-4ddf-8b2f-584271628a54
sources: sources:
- https://github.com/iib0011/omni-tools - https://github.com/iib0011/omni-tools
- https://hub.docker.com/r/iib0011/omni-tools - https://hub.docker.com/r/iib0011/omni-tools

View File

@@ -4,15 +4,17 @@ omni-tools:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
containers: containers:
main: main:
image: image:
repository: iib0011/omni-tools repository: iib0011/omni-tools
tag: 0.6.0@sha256:ceb5acc317daf387634f7f212cefe4722fd1243ad1cba74203f25254195b6c69 tag: 0.6.0
pullPolicy: IfNotPresent
resources: resources:
requests: requests:
cpu: 10m cpu: 50m
memory: 10Mi memory: 512Mi
service: service:
main: main:
controller: main controller: main
@@ -20,6 +22,7 @@ omni-tools:
http: http:
port: 80 port: 80
targetPort: 80 targetPort: 80
protocol: HTTP
route: route:
main: main:
kind: HTTPRoute kind: HTTPRoute
@@ -32,8 +35,11 @@ omni-tools:
- omni-tools.alexlebens.net - omni-tools.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: omni-tools - group: ''
kind: Service
name: omni-tools
port: 80 port: 80
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix

View File

@@ -7,12 +7,12 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0 version: 0.4.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:9e8ec16e175ae5aa778a7bd2e785d56dea98d025b7a818fe76d9959680f117b1 digest: sha256:02780454fad48c10e95851e73e45e8a98091596d9dce8ada9e361e7212e581df
generated: "2026-04-04T20:56:43.600438-05:00" generated: "2026-03-15T20:07:38.818063491Z"

View File

@@ -4,16 +4,17 @@ version: 1.0.0
description: Outline description: Outline
keywords: keywords:
- outline - outline
- knowledge-base - wiki
home: https://docs.alexlebens.dev/applications/outline/ - documentation
home: https://wiki.alexlebens.dev/s/c530c2b9-82b7-44df-b7ef-870c8b29242f
sources: sources:
- https://github.com/outline/outline - https://github.com/outline/outline
- https://github.com/cloudflare/cloudflared
- https://github.com/cloudnative-pg/cloudnative-pg
- https://hub.docker.com/r/outlinewiki/outline - https://hub.docker.com/r/outlinewiki/outline
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template - https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster - https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers: maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
@@ -26,11 +27,11 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey alias: valkey
version: 0.5.0 version: 0.4.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-data alias: volsync-target-data

View File

@@ -14,11 +14,17 @@ spec:
data: data:
- secretKey: secret-key - secretKey: secret-key
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/outline/key key: /cl01tl/outline/key
metadataPolicy: None
property: secret-key property: secret-key
- secretKey: utils-key - secretKey: utils-key
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/outline/key key: /cl01tl/outline/key
metadataPolicy: None
property: utils-key property: utils-key
--- ---
@@ -38,9 +44,15 @@ spec:
data: data:
- secretKey: client - secretKey: client
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/outline key: /authentik/oidc/outline
metadataPolicy: None
property: client property: client
- secretKey: secret - secretKey: secret
remoteRef: remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/outline key: /authentik/oidc/outline
metadataPolicy: None
property: secret property: secret

View File

@@ -4,6 +4,7 @@ outline:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
pod: pod:
securityContext: securityContext:
fsGroup: 1001 fsGroup: 1001
@@ -11,12 +12,13 @@ outline:
main: main:
image: image:
repository: outlinewiki/outline repository: outlinewiki/outline
tag: 1.6.1@sha256:a750f764080ce28d4a7393176011c8e2e4170b41689a8f6d91327dadf4904eb6 tag: 1.6.1
pullPolicy: IfNotPresent
env: env:
- name: NODE_ENV - name: NODE_ENV
value: production value: production
- name: URL - name: URL
value: https://outline.alexlebens.dev value: https://wiki.alexlebens.dev
- name: PORT - name: PORT
value: 3000 value: 3000
- name: SECRET_KEY - name: SECRET_KEY
@@ -111,7 +113,7 @@ outline:
resources: resources:
requests: requests:
cpu: 10m cpu: 10m
memory: 500Mi memory: 512Mi
service: service:
main: main:
controller: main controller: main
@@ -119,12 +121,14 @@ outline:
http: http:
port: 3000 port: 3000
targetPort: 3000 targetPort: 3000
protocol: HTTP
persistence: persistence:
data: data:
forceRename: outline-data forceRename: outline-data
storageClass: ceph-block storageClass: ceph-block
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 5Gi size: 5Gi
retain: true
advancedMounts: advancedMounts:
main: main:
main: main:
@@ -143,12 +147,35 @@ postgres-18-cluster:
destinationBucket: postgres-backups destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true isWALArchiver: true
# - name: garage-remote
# index: 1
# destinationBucket: postgres-backups
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# retentionPolicy: "90d"
# data:
# compression: bzip2
# - name: external
# index: 1
# endpointURL: https://nyc3.digitaloceanspaces.com
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# isWALArchiver: false
scheduledBackups: scheduledBackups:
- name: live-backup - name: live-backup
suspend: false suspend: false
immediate: true immediate: true
schedule: "0 10 15 * * *" schedule: "0 10 15 * * *"
backupName: garage-local backupName: garage-local
# - name: weekly-backup
# suspend: true
# immediate: true
# schedule: "0 0 4 * * SAT"
# backupName: garage-remote
# - name: daily-backup
# suspend: true
# immediate: true
# schedule: "0 0 0 * * *"
# backupName: external
volsync-target-data: volsync-target-data:
pvcTarget: outline-data pvcTarget: outline-data
moverSecurityContext: moverSecurityContext:

View File

@@ -79,8 +79,8 @@ paperless-ngx:
value: America/Chicago value: America/Chicago
resources: resources:
requests: requests:
cpu: 10m cpu: 1m
memory: 600Mi memory: 100Mi
gotenberg: gotenberg:
image: image:
repository: gotenberg/gotenberg repository: gotenberg/gotenberg
@@ -178,7 +178,7 @@ volsync-target-data:
enabled: true enabled: true
schedule: 2 10 * * * schedule: 2 10 * * *
volsync-target-media: volsync-target-media:
pvcTarget: paperless-ngx-media pvcTarget: paperless-ngx-metadata
local: local:
enabled: true enabled: true
schedule: 4 8 * * * schedule: 4 8 * * *
@@ -189,7 +189,7 @@ volsync-target-media:
enabled: true enabled: true
schedule: 4 10 * * * schedule: 4 10 * * *
volsync-target-export: volsync-target-export:
pvcTarget: paperless-ngx-export pvcTarget: paperless-ngx-data
local: local:
enabled: true enabled: true
schedule: 2 8 * * * schedule: 2 8 * * *
@@ -200,7 +200,7 @@ volsync-target-export:
enabled: true enabled: true
schedule: 2 10 * * * schedule: 2 10 * * *
volsync-target-consume: volsync-target-consume:
pvcTarget: paperless-ngx-consume pvcTarget: paperless-ngx-metadata
local: local:
enabled: true enabled: true
schedule: 4 8 * * * schedule: 4 8 * * *

View File

@@ -0,0 +1,9 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.10.0
digest: sha256:fe266f506edd672979091e0ad12379d6ad7dddd2c982e196e602dcda268d6f76
generated: "2026-03-15T20:07:52.831926834Z"

View File

@@ -0,0 +1,27 @@
apiVersion: v2
name: photoview
version: 1.0.0
description: Photoview
keywords:
- photoview
- pictures
home: https://wiki.alexlebens.dev/s/f519a435-8388-4503-a9f9-401bdb424151
sources:
- https://github.com/photoview/photoview
- https://github.com/cloudnative-pg/cloudnative-pg
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
maintainers:
- name: alexlebens
dependencies:
- name: app-template
alias: photoview
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: postgres-cluster
alias: postgres-18-cluster
version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/photoview.png
# renovate: datasource=github-releases depName=photoview/photoview
appVersion: 2.4.0

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: photoview-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: photoview-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeName: photoview-nfs-storage
storageClassName: nfs-client
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,23 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: photoview-nfs-storage
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: photoview-nfs-storage
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-client
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
nfs:
path: /volume2/Storage/Pictures
server: synologybond.alexlebens.net
mountOptions:
- vers=4
- minorversion=1
- noac

View File

@@ -0,0 +1,137 @@
photoview:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
initContainers:
init-chmod-data:
securityContext:
runAsUser: 0
image:
repository: busybox
tag: 1.37.0
pullPolicy: IfNotPresent
command:
- /bin/sh
- -ec
- |
/bin/chown -R 999:999 /app/cache
resources:
requests:
cpu: 100m
memory: 128Mi
containers:
main:
image:
repository: photoview/photoview
tag: 2.4.0
pullPolicy: IfNotPresent
env:
- name: PHOTOVIEW_DATABASE_DRIVER
value: postgres
- name: PHOTOVIEW_POSTGRES_URL
valueFrom:
secretKeyRef:
name: photoview-postgresql-18-cluster-app
key: uri
- name: PHOTOVIEW_MEDIA_CACHE
value: /app/cache
resources:
requests:
cpu: 10m
memory: 512Mi
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 80
protocol: HTTP
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- photoview.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: photoview
port: 80
weight: 100
matches:
- path:
type: PathPrefix
value: /
persistence:
cache:
forceRename: photoview-cache
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 10Gi
retain: false
advancedMounts:
main:
init-chmod-data:
- path: /app/cache
readOnly: false
main:
- path: /app/cache
readOnly: false
media:
existingClaim: photoview-nfs-storage
advancedMounts:
main:
main:
- path: /photos
readOnly: true
postgres-18-cluster:
mode: recovery
recovery:
method: objectStore
objectStore:
index: 1
backup:
objectStore:
- name: garage-local
index: 1
destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
# - name: garage-remote
# index: 1
# destinationBucket: postgres-backups
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# retentionPolicy: "90d"
# data:
# compression: bzip2
# - name: external
# index: 1
# endpointURL: https://nyc3.digitaloceanspaces.com
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# isWALArchiver: false
scheduledBackups:
- name: live-backup
suspend: false
immediate: true
schedule: "0 15 15 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
# immediate: true
# schedule: "0 0 4 * * SAT"
# backupName: garage-remote
# - name: daily-backup
# suspend: true
# immediate: true
# schedule: "0 0 0 * * *"
# backupName: external

View File

@@ -4,8 +4,10 @@ version: 1.0.0
description: Plex description: Plex
keywords: keywords:
- plex - plex
- media - tv shows
home: https://docs.alexlebens.dev/applications/plex/ - movies
- live tv
home: https://wiki.alexlebens.dev/s/e2833eed-f991-4b00-9fa0-5d7f403a8183
sources: sources:
- https://www.plex.tv/ - https://www.plex.tv/
- https://github.com/linuxserver/docker-plex - https://github.com/linuxserver/docker-plex
@@ -20,4 +22,4 @@ dependencies:
version: 4.6.2 version: 4.6.2
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/plex.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/plex.png
# renovate: datasource=github-releases depName=linuxserver/docker-plex # renovate: datasource=github-releases depName=linuxserver/docker-plex
appVersion: 1.43.0.10492-121068a07-ls298 appVersion: 1.42.2

View File

@@ -4,10 +4,8 @@ plex:
type: deployment type: deployment
replicas: 1 replicas: 1
strategy: Recreate strategy: Recreate
revisionHistoryLimit: 3
pod: pod:
securityContext:
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
affinity: affinity:
podAntiAffinity: podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution: requiredDuringSchedulingIgnoredDuringExecution:
@@ -22,10 +20,11 @@ plex:
main: main:
image: image:
repository: ghcr.io/linuxserver/plex repository: ghcr.io/linuxserver/plex
tag: 1.43.0.10492-121068a07-ls298@sha256:cbd631f9a972a1c453953a9192c1781dd7d2084db075a1bee78a3cc6387fb103 tag: 1.43.0@sha256:a27f1ce1e1d14cd3627ed217f042bf8de0f796ed274fb27b2dc971ae22a64b95
pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ
value: America/Chicago value: US/Central
- name: VERSION - name: VERSION
value: docker value: docker
resources: resources:
@@ -33,8 +32,8 @@ plex:
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
requests: requests:
gpu.intel.com/i915: 1 gpu.intel.com/i915: 1
cpu: 100m cpu: 10m
memory: 250Mi memory: 512Mi
service: service:
main: main:
controller: main controller: main
@@ -43,6 +42,7 @@ plex:
http: http:
port: 32400 port: 32400
targetPort: 32400 targetPort: 32400
protocol: HTTP
route: route:
main: main:
kind: HTTPRoute kind: HTTPRoute
@@ -55,8 +55,11 @@ plex:
- plex.alexlebens.net - plex.alexlebens.net
rules: rules:
- backendRefs: - backendRefs:
- name: plex - group: ''
kind: Service
name: plex
port: 32400 port: 32400
weight: 100
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix

View File

@@ -7,7 +7,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: valkey - name: valkey
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0 version: 0.4.0
@@ -17,5 +17,5 @@ dependencies:
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:bf8a2ac62745b9868be341ceb3ce282dd5c0adbf5eddd952b8175abbe74a66ea digest: sha256:de3fb540df1cf7385a19316741854d01e002740c0bf346f3da0ff3a809b1fc3d
generated: "2026-04-05T03:25:26.744313984Z" generated: "2026-03-15T20:08:06.855136249Z"

View File

@@ -26,7 +26,7 @@ dependencies:
version: 2.4.0 version: 2.4.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey - name: valkey
alias: valkey alias: valkey

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:f644b5d539a1aa786eae75f7e397ca12383320bcb52618eaf611c45c08e6f205 digest: sha256:d76563fe1a7a9f8ceaf6937831bd0c5511eb7369abb8eb54110dfb69e6dce224
generated: "2026-04-05T03:25:41.971251571Z" generated: "2026-03-15T20:08:21.236792423Z"

View File

@@ -27,7 +27,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-config alias: volsync-target-config

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:ff7a0dc34eba6f1958b56a90fd4b47d5baac88eb5c40349b5b9aa8223fa6ffd6 digest: sha256:21bde3a8778fb94e40f2177383ca418123e69f3f3f463b31d35e9f9bf83dfa9d
generated: "2026-04-05T03:25:58.108804901Z" generated: "2026-03-15T20:08:35.497440433Z"

View File

@@ -27,7 +27,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-config alias: volsync-target-config

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:c032454ad1ce0729f69b7d79571880d4d27af6dc6f638b3a32e0a1633c1ee996 digest: sha256:ebd25d2a12ca1924b66c62d6dd2c69476ae4526825020796198b65c2ebd2c6eb
generated: "2026-04-05T03:26:13.735784021Z" generated: "2026-03-15T20:08:49.811429784Z"

View File

@@ -26,7 +26,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-config alias: volsync-target-config

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:26dca3bc43e9b3613d3fe817bf6254ffe8ca31152596fa6a141458734aab6950 digest: sha256:05ce0d746d9c42a00338df5e6673fde8baeefa6f598ef8c85a32e6bc393b94ca
generated: "2026-04-05T03:26:30.180466095Z" generated: "2026-03-15T20:09:03.538226001Z"

View File

@@ -26,7 +26,7 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
alias: postgres-18-cluster alias: postgres-18-cluster
version: 7.11.2 version: 7.10.0
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target - name: volsync-target
alias: volsync-target-config alias: volsync-target-config

View File

@@ -251,54 +251,3 @@ spec:
key: /garage/config/remote key: /garage/config/remote
metadataPolicy: None metadataPolicy: None
property: ENDPOINT property: ENDPOINT
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: garage-ntfy-attachments-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-ntfy-attachments-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/ntfy-attachments
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/ntfy-attachments
metadataPolicy: None
property: ACCESS_REGION
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/ntfy-attachments
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: SRC_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/local
metadataPolicy: None
property: ENDPOINT
- secretKey: DEST_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/config/remote
metadataPolicy: None
property: ENDPOINT

View File

@@ -503,86 +503,3 @@ rclone:
key: DEST_ENDPOINT key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE - name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true value: true
ntfy-attachments:
type: cronjob
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "10 0 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
sync:
image:
repository: rclone/rclone
tag: 1.73.3
pullPolicy: IfNotPresent
args:
- sync
- src:ntfy-attachments
- dest:ntfy-attachments
- --s3-no-check-bucket
- --verbose
env:
- name: RCLONE_S3_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_TYPE
value: s3
- name: RCLONE_CONFIG_SRC_PROVIDER
value: Other
- name: RCLONE_CONFIG_SRC_ENV_AUTH
value: false
- name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: SRC_ENDPOINT
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: true
- name: RCLONE_CONFIG_DEST_TYPE
value: s3
- name: RCLONE_CONFIG_DEST_PROVIDER
value: Other
- name: RCLONE_CONFIG_DEST_ENV_AUTH
value: false
- name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: ACCESS_KEY_ID
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: ACCESS_SECRET_KEY
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: ACCESS_REGION
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: garage-ntfy-attachments-secret
key: DEST_ENDPOINT
- name: RCLONE_CONFIG_SRC_DEST_FORCE_PATH_STYLE
value: true

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2 version: 4.6.2
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.2 version: 7.10.0
- name: volsync-target - name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0 version: 0.8.0
digest: sha256:3385cf67283187e62972293322a24c0bd3cf979cd870a3f157728e50b601e4f6 digest: sha256:755aa4db5c7142d46af4a80c9fce49c3c558cc81042c9a00a0bdcd607276e856
generated: "2026-04-05T03:26:45.133105337Z" generated: "2026-03-15T20:09:18.053504671Z"

Some files were not shown because too many files have changed in this diff Show More