How to install php modules in nextcloud for Kubernetes?

Hi, I’ve installed nextcloud using kubernetes (helm/charts/nextcloud at master · nextcloud/helm · GitHub)
I’ve used the apache image type, and everything seems to work perfectly.

The exact command that I used was:

helm upgrade --install nextcloud-main nextcloud/nextcloud \
--namespace nextcloud \
--set ingress.enabled=false \
--set nextcloud.host=nextcloud.local \
--set nextcloud.existingSecret.enabled=true \
--set nextcloud.existingSecret.secretName=nextcloud-credentials \
--set nextcloud.existingSecret.usernameKey=username \
--set nextcloud.existingSecret.passwordKey=password \
--set nextcloud.existingSecret.smtpUsernameKey=smtp-username \
--set nextcloud.existingSecret.smtpPasswordKey=smtp-password \
--set nextcloud.update=1 \
--set nextcloud.mail.enabled=true \
--set nextcloud.mail.fromAddress=some@email \
--set nextcloud.mail.domain=some.domain \
--set nextcloud.mail.smtp.host=smtp.local \
--set nextcloud.mail.smtp.secure=ssl \
--set nextcloud.mail.smtp.port=465 \
--set internalDatabase.enabled=false \
--set externalDatabase.enabled=true \
--set externalDatabase.type=mysql \
--set externalDatabase.host=mariadb.local \
--set externalDatabase.database=nextcloud \
--set externalDatabase.existingSecret.enabled=true \
--set externalDatabase.existingSecret.secretName=nextcloud-db-secret \
--set externalDatabase.existingSecret.usernameKey=MYSQL_USER \
--set externalDatabase.existingSecret.passwordKey=MYSQL_PASSWORD \
--set redis.enabled=true \
--set redis.auth.enabled=true \
--set redis.auth.password=redis \
--set cronjob.enabled=true \
--set persistence.enabled=true \
--set persistence.existingClaim=nextcloud-config-pvc \
--set persistence.nextcloudData.enabled=true \
--set persistence.nextcloudData.existingClaim=nextcloud-data-pvc \
--set phpClientHttpsFix.enabled=true \
--set hpa.enabled=false \
--set livenessProbe.enabled=true \
--set readinessProbe.enabled=true \
--set livenessProbe.initialDelaySeconds=86400 \
--set readinessProbe.initialDelaySeconds=86400

However, I wanted to add an external SMB (samba) server to my nextcloud. In the external storage section of nextcloud, I can see the following message:

"smbclient" is not installed. Mounting of "SMB/CIFS", "SMB/CIFS using 
OC login" is not possible. Please ask your system administrator 
to install it.

According to the documentation here (SMB/CIFS — Nextcloud latest Administration Manual latest documentation), I can see that I need to install smbclient or the php smbclient module in my kubernetes deployment.

I was wondering what is the best way to do that? I suppose executing in ‘pod’ and installing isn’t really the best way, since pod-recreation could potentially remove that installation.

Thanks!

Hi, you cannot add php modules to containers afaik. The usual way would be building your own Nextcloud image and using that in your helm chart.

Hello @szaimen Thanks for your response. I can create my own nextcloud image. Could you tell me how could I use my own custom image in the helm command? I know that I can set up custom tags like so:

--set image.tag=25.0.1-apache

But how do I set my own image from my docker repository?

Thanks!

Sorry, I am not familiar enough with the helm chart to tell you how to do that.