H
Homarrβ€’2mo ago
Tangenius

Trying to deploy with helm

Hey, I am trying to deploy homarr with helm but the only output from the container I get is sh: 0: cannot open ./scripts/run.sh: No such file. Could someone help me understand what the purpose of this file is so I can figure out how to fix it? My config is public and visible here: https://github.com/Tanguille/cluster/tree/main/kubernetes/apps/default/homarr
GitHub
cluster/kubernetes/apps/default/homarr at main Β· Tanguille/cluster
My home k8s cluster GitOps repository. Contribute to Tanguille/cluster development by creating an account on GitHub.
Solution:
here is an updated file
Jump to solution
42 Replies
Cakey Bot
Cakey Botβ€’2mo ago
Thank you for submitting a support request. Depending on the volume of requests, our team should get in contact with you shortly.
⚠️ Please include the following details in your post or we may reject your request without further comment: - Log (See https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log) - Operating system (Unraid, TrueNAS, Ubuntu, ...) - Exact Homarr version (eg. 0.15.0, not latest) - Configuration (eg. docker-compose, screenshot or similar. Use ``your-text`` to format) - Other relevant information (eg. your devices, your browser, ...)
❓ Frequently Asked Questions | Homarr documentation
Can I install Homarr on a Raspberry Pi?
Manicraft1001
Manicraft1001β€’2mo ago
@odah can you take a look at this?
odah
odahβ€’2mo ago
Hello @Tangenius could u please use this repository as a HelmRepository : https://artifacthub.io/packages/helm/oben01/homarr This chart is maintained by us. please let me know if u face an issue with it
homarr 1.3.3 Β· oben01/oben01
A Helm chart to deploy homarr for Kubernetes
Tangenius
TangeniusOPβ€’2mo ago
Thanks I'll look into it! It seems like I'm always getting these errors, whether I configure them or not in values.
Tangenius
TangeniusOPβ€’2mo ago
odah
odahβ€’2mo ago
The values of the helm Repository are not correct. You need to remove the extra controllers.homarr…. The values are not in bjw-s format
odah
odahβ€’2mo ago
GitHub
charts/charts/homarr/values.yaml at main Β· oben01/charts
Contribute to oben01/charts development by creating an account on GitHub.
odah
odahβ€’2mo ago
Here is an example. you need to put the correct storageClassName
Tangenius
TangeniusOPβ€’2mo ago
Thanks for the personalized example πŸ˜€ I seem to keep getting the exact same mapping issues using this exact helmrelease πŸ€” Specifically about the probes I can maybe try to overwrite them later
odah
odahβ€’2mo ago
@Tangenius I just pushed a release with a fix. could u upgrade the version of the chart from 1.3.3 to 1.3.4. Let me know if it's working for u don't forget to update your ingress like this :
ingress:
enabled: true
ingressClassName: "internal"
annotations:
external-dns.alpha.kubernetes.io/target: internal.${SECRET_DOMAIN}
hosts:
- host: apps.${SECRET_DOMAIN}
paths:
- path: /
ingress:
enabled: true
ingressClassName: "internal"
annotations:
external-dns.alpha.kubernetes.io/target: internal.${SECRET_DOMAIN}
hosts:
- host: apps.${SECRET_DOMAIN}
paths:
- path: /
`
Tangenius
TangeniusOPβ€’2mo ago
Thanks for all the efforts πŸ™‚ I'll be able to test it in a few hours
odah
odahβ€’2mo ago
No worries πŸ˜„
Tangenius
TangeniusOPβ€’2mo ago
I'll also test dashdot if I get it working
odah
odahβ€’2mo ago
There is an integration with Homarr for Dashdot and i also maintened the chart πŸ˜„
Tangenius
TangeniusOPβ€’2mo ago
Indeed that's why I'm mentioning it, it's perfect. I'm migrating from truecharts
odah
odahβ€’2mo ago
i just want to mentionned that u also need to change storageClassName with yours πŸ˜„ Sounds great πŸ˜„
Tangenius
TangeniusOPβ€’2mo ago
Yes I think my previous storage setup was fine but just wanted to make sure that didn't cause the marshalling errors, altho unlikely
odah
odahβ€’2mo ago
FYI we are building a new chart for the new Homarr https://github.com/homarr-labs/charts/pull/2 it's not a production ready. don't hesitate to give us feedbacks if u tested.
Tangenius
TangeniusOPβ€’2mo ago
For homarr v1? Btw do you know if I could use a configmap to have my homarr config more declarable? It looked easily human editable but I fear this wouldn't work since the pods needs to be able to update it
odah
odahβ€’2mo ago
It would be a good improvement but for homarr v1 we use a database (it is included by the chart as a dependency) i don’t thing that i’ll do it
Tangenius
TangeniusOPβ€’2mo ago
sqlite?
odah
odahβ€’2mo ago
We support mysql
Tangenius
TangeniusOPβ€’2mo ago
Your fix seems to work. Now fumbling with the persistence a bit but should be able to figure it out Or not. I'm now stuck at
0/1 nodes are available: persistentvolumeclaim "homarr-config" not found. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.
0/1 nodes are available: persistentvolumeclaim "homarr-config" not found. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling.
I tried like this:
persistence:
homarr-config:
- name: homarr-config
enabled: true
existingClaim: *app
mountPath: /app/data/configs
homarr-database:
- name: homarr-database
enabled: true
existingClaim: *app
mountPath: /app/database
homarr-icons:
- name: homarr-icons
enabled: true
existingClaim: *app
mountPath: /app/public/icons
persistence:
homarr-config:
- name: homarr-config
enabled: true
existingClaim: *app
mountPath: /app/data/configs
homarr-database:
- name: homarr-database
enabled: true
existingClaim: *app
mountPath: /app/database
homarr-icons:
- name: homarr-icons
enabled: true
existingClaim: *app
mountPath: /app/public/icons
and this
persistence:
- name: homarr-config
enabled: true
existingClaim: *app
mountPath: /app/data/configs
- name: homarr-database
enabled: true
existingClaim: *app
mountPath: /app/database
- name: homarr-icons
enabled: true
existingClaim: *app
mountPath: /app/public/icons
persistence:
- name: homarr-config
enabled: true
existingClaim: *app
mountPath: /app/data/configs
- name: homarr-database
enabled: true
existingClaim: *app
mountPath: /app/database
- name: homarr-icons
enabled: true
existingClaim: *app
mountPath: /app/public/icons
It should all run in the same pvc right?
k get pvc | grep homarr
homarr Bound pvc-843fab3f-0a79-44a2-a1c8-b5c8cb31085e 1Gi RWO openebs-zfs <unset> 21h
volsync-homarr-b2-cache Bound pvc-38d27468-c808-4740-9751-e0720dc5ed37 4Gi RWO openebs-hostpath <unset> 2d4h
volsync-homarr-dst-cache Bound pvc-39a6ddac-3912-41b5-b1b2-ef5e17ac4e72 8Gi RWO openebs-hostpath <unset> 2d4h
volsync-homarr-dst-dest Bound pvc-50d57133-a496-4482-a768-4c8fca26e041 1Gi RWO openebs-zfs <unset> 2d4h
tanguille@k8s-management ~/cluster (main)> kubectl scale deployment homarr --replicas=0
deployment.apps/homarr scaled
tanguille@k8s-management ~/cluster (main)> k browse-pvc homarr -n default
βœ“ Attached to browse-homarr-mhcmd
/mnt # ls
data database.db logs.log secret.key sessions wizarr_cache.sqlite
k get pvc | grep homarr
homarr Bound pvc-843fab3f-0a79-44a2-a1c8-b5c8cb31085e 1Gi RWO openebs-zfs <unset> 21h
volsync-homarr-b2-cache Bound pvc-38d27468-c808-4740-9751-e0720dc5ed37 4Gi RWO openebs-hostpath <unset> 2d4h
volsync-homarr-dst-cache Bound pvc-39a6ddac-3912-41b5-b1b2-ef5e17ac4e72 8Gi RWO openebs-hostpath <unset> 2d4h
volsync-homarr-dst-dest Bound pvc-50d57133-a496-4482-a768-4c8fca26e041 1Gi RWO openebs-zfs <unset> 2d4h
tanguille@k8s-management ~/cluster (main)> kubectl scale deployment homarr --replicas=0
deployment.apps/homarr scaled
tanguille@k8s-management ~/cluster (main)> k browse-pvc homarr -n default
βœ“ Attached to browse-homarr-mhcmd
/mnt # ls
data database.db logs.log secret.key sessions wizarr_cache.sqlite
I'm sorry to be taking so much effort from you with my specific setup Ah wait I get it the one pvc needs to be called homarr-config instead of config right?
odah
odahβ€’2mo ago
ExistingClaim does not exist in our chart What’s u default storageClass ?! kubectl get storageclass after that use the default storageClass name as the following : storageClassName value should be changed persistence: - name: homarr-config # -- Enable homarr-config persistent storage enabled: true # -- homarr-config storage class name storageClassName: "local-path" # -- homarr-config access mode accessMode: "ReadWriteOnce" # -- homarr-config storage size size: "50Mi" # -- homarr-config mount path inside the pod mountPath: "/app/data/configs" - name: homarr-database # -- Enable homarr-database persistent storage enabled: true # -- homarr-database storage class name storageClassName: "local-path" # -- homarr-database access mode accessMode: "ReadWriteOnce" # -- homarr-database storage size size: "50Mi" # -- homarr-database mount path inside the pod mountPath: "/app/database" No worries Happy helming πŸ˜„ by the way i have almost the same setup. am having a custom templates inspired by onedr0p/cluster-template @Tangenius i just updated my answer for the persistence
Solution
odah
odahβ€’2mo ago
here is an updated file
Tangenius
TangeniusOPβ€’2mo ago
kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 24d
openebs-zfs zfs.csi.openebs.io Delete Immediate true 24d
kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 24d
openebs-zfs zfs.csi.openebs.io Delete Immediate true 24d
I use hostpath only for volsync cache. I'm not sure how to setup volsync without this template yet unfortunately but that's fine for now I can figure it out later Oh nice but not public?
odah
odahβ€’2mo ago
Here u go i just updated the storageClass
odah
odahβ€’2mo ago
It's not public for now
Tangenius
TangeniusOPβ€’2mo ago
Alright it seems to have deployed successfully, will try restoring data now πŸ™‚
odah
odahβ€’2mo ago
Good news πŸ™‚ u can put u ticket to resolved please ?
Tangenius
TangeniusOPβ€’2mo ago
Yes thanks for the help!
odah
odahβ€’2mo ago
Here is a bonus to inspect u persistence volume https://frank.sauerburger.io/2021/12/01/inspect-k8s-pvc.html
Frank Sauerburger
Inspect a Kubernetes PersistentVolumeClaim
Accessing a persistent volume in Kubernetes is often necessary to debug a deployment. This articles shows a easy solution.
Tangenius
TangeniusOPβ€’2mo ago
Euh I can't seem to be able to figure out how to do that. I don't see solved between the tags πŸ˜… Looks nice indeed thanks I think it's still not 100% solved. It seems like if I restart the pod my db doesn't persist because I have to create a user again but my dashboard which I managed to restore stays. Gonna try changing storageClass
odah
odahβ€’2mo ago
GitHub
"Start update process" screen shows every time a pod is deleted Β· I...
Chart Name Homarr Chart Version homarr-1.2.5 Bug Description When a pod gets deleted (and a new pod is created) - Homarr keeps initially showing the "Start update process", which includes...
odah
odahβ€’2mo ago
Try adding env: DEFAULT_COLOR_SCHEME: dark DATABASE_URL: file:/app/database/db.sqlite
Tangenius
TangeniusOPβ€’2mo ago
Ah I read that but I thought it was if you wanted to use it with lldap seperately. So if I provide these values I don't need the db anymore?
odah
odahβ€’2mo ago
U still need the persistence
Tangenius
TangeniusOPβ€’2mo ago
I will try this first then
odah
odahβ€’2mo ago
Add it and let me know If it fix the issue I’ll release a new version with this values us default
Tangenius
TangeniusOPβ€’2mo ago
The env variable fixed it πŸ™‚ Seems like I'm fully setup now. Will do dashdot when I have some more spare time
odah
odahβ€’2mo ago
πŸ‘ you can update your chart version to v 1.3.5 and remove the variable from u configuration πŸ™‚
odah
odahβ€’2mo ago
GitHub
Release homarr-1.3.5 Β· oben01/charts
A Helm chart to deploy homarr for Kubernetes Full Changelog: homarr-1.3.4...homarr-1.3.5
Want results from more Discord servers?
Add your server