diff --git a/charts/ghost/Chart.lock b/charts/ghost/Chart.lock
index 606f57a0c828108008d433b1e7c1ac5755398001..c2dc20d473fc3580994c9c909632b8777c211ac7 100644
--- a/charts/ghost/Chart.lock
+++ b/charts/ghost/Chart.lock
@@ -1,6 +1,6 @@
 dependencies:
 - name: mariadb
   repository: https://groundhog2k.github.io/helm-charts
-  version: 0.2.0
-digest: sha256:2a0e926c463f81bd790a89a0828030021ff40040a521703e17e66f51e4a8afde
-generated: "2020-12-11T18:45:16.3329025+01:00"
+  version: 0.2.2
+digest: sha256:b66987f8e3bb7d047dd5be819ac40d6dec301961d980c8a1bbb837cbe4c99aa5
+generated: "2020-12-13T20:18:01.8952563+01:00"
diff --git a/charts/ghost/Chart.yaml b/charts/ghost/Chart.yaml
index 534a77cf6ac233706868971d95beb5bac3cf3f03..2d297f4717c75c73f0ece0af612c755adb369538 100644
--- a/charts/ghost/Chart.yaml
+++ b/charts/ghost/Chart.yaml
@@ -7,14 +7,12 @@ type: application
 maintainers:
   - name: groundhog2k
 
-# This is the chart version
-version: 0.2.1
+version: 0.2.2
 
-# This is the version number of the application being deployed.
 appVersion: "3.40.1"
 
 dependencies:
   - name: mariadb
-    version: 0.2.0
+    version: 0.2.2
     repository: "https://groundhog2k.github.io/helm-charts"
     condition: mariadb.enabled
diff --git a/charts/ghost/README.md b/charts/ghost/README.md
index 87298b20c86f3822c3bebedb603f9eaadbc1a577..c90115137bcd91c7b135a7b75dde3888d74a8d36 100644
--- a/charts/ghost/README.md
+++ b/charts/ghost/README.md
@@ -1,6 +1,6 @@
 # Ghost
 
-![Version: 0.2.1](https://img.shields.io/badge/Version-0.2.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.40.1](https://img.shields.io/badge/AppVersion-3.40.1-informational?style=flat-square)
+![Version: 0.2.2](https://img.shields.io/badge/Version-0.2.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.40.1](https://img.shields.io/badge/AppVersion-3.40.1-informational?style=flat-square)
 
 A Helm chart for Ghost blog on Kubernetes
 
@@ -15,7 +15,7 @@ $ helm install my-release groundhog2k/ghost
 
 This chart uses the original [Ghost image from Docker Hub](https://hub.docker.com/_/ghost) to deploy a Ghost blog in Kubernetes.
 
-It fully supports deployment of arm64v8 and amd64 multi-architecture docker image. Just set the `nodeSelector` value to `kubernetes.io/arch: arm64` (default is `amd64`)
+It fully supports deployment of the multi-architecture docker image.
 
 ## Prerequisites
 
@@ -43,7 +43,7 @@ $ helm uninstall my-release
 
 | Repository | Name | Version |
 |------------|------|---------|
-| @groundhog2k | mariadb | 0.2.0 |
+| @groundhog2k | mariadb | 0.2.2 |
 
 ## Common parameters
 
@@ -63,11 +63,12 @@ $ helm uninstall my-release
 | livenessProbe | object | `see values.yaml` | Liveness probe configuration |
 | readinessProbe | object | `see values.yaml` | Readiness probe configuration |
 | resources | object | `{}` | Resource limits and requests |
-| nodeSelector."kubernetes.io/arch" | string | `"amd64"` | Deployment node selector |
+| nodeSelector | object | `{}` | Deployment node selector |
 | podAnnotations | object | `{}` | Additional pod annotations |
 | podSecurityContext | object | `see values.yaml` | Pod security context |
 | securityContext | object | `see values.yaml` | Container security context |
 | env | list | `[]` | Additional container environmment variables |
+| args | list | `[]` | Arguments for the container entrypoint process |
 | rbac.create | bool | `true` | Enable creation of RBAC |
 | serviceAccount.create | bool | `false` | Enable service account creation |
 | serviceAccount.name | string | `""` | Optional name of the service account |
@@ -82,6 +83,8 @@ $ helm uninstall my-release
 |-----|------|---------|-------------|
 | service.port | int | `80` | Ghost HTTP service port |
 | service.type | string | `"ClusterIP"` | Service type |
+| service.nodePort | int | `nil` | Service node port (only relevant for type NodePort) |
+| service.clusterIP | string | `nil` | Service cluster IP (only relevant for type LoadBalancer) |
 
 ## Ingress parameters
 
@@ -99,9 +102,9 @@ $ helm uninstall my-release
 | Key | Type | Default | Description |
 |-----|------|---------|-------------|
 | storage.accessModes[0] | string | `"ReadWriteOnce"` | Storage access mode |
-| storage.persistentVolumeClaimName | string | `""` | PVC name when existing storage volume should be used |
-| storage.requestedSize | string | `""` | Size for new PVC, when no existing PVC is used |
-| storage.className | string | `""` | Storage class name |
+| storage.persistentVolumeClaimName | string | `nil` | PVC name when existing storage volume should be used |
+| storage.requestedSize | string | `nil` | Size for new PVC, when no existing PVC is used |
+| storage.className | string | `nil` | Storage class name |
 
 ## Ghost parameters
 
diff --git a/charts/ghost/charts/mariadb-0.2.0.tgz b/charts/ghost/charts/mariadb-0.2.0.tgz
deleted file mode 100644
index 1f8bed147c8db14c89e4dad9b39a250210a10a1c..0000000000000000000000000000000000000000
Binary files a/charts/ghost/charts/mariadb-0.2.0.tgz and /dev/null differ
diff --git a/charts/ghost/charts/mariadb-0.2.2.tgz b/charts/ghost/charts/mariadb-0.2.2.tgz
new file mode 100644
index 0000000000000000000000000000000000000000..a6ff94ea3d778099e3c13c57749481292dee4a69
Binary files /dev/null and b/charts/ghost/charts/mariadb-0.2.2.tgz differ
diff --git a/charts/ghost/templates/deployment.yaml b/charts/ghost/templates/deployment.yaml
index c069303a23eae1546a8d8ae0175db15d55c70313..19b124e8a01ab0924ae124a8cfb8e172d0db1db8 100644
--- a/charts/ghost/templates/deployment.yaml
+++ b/charts/ghost/templates/deployment.yaml
@@ -23,12 +23,16 @@ spec:
         {{- toYaml . | nindent 8 }}
       {{- end }}
       serviceAccountName: {{ include "ghost.serviceAccountName" . }}
+      {{- with .Values.podSecurityContext }}
       securityContext:
-        {{- toYaml .Values.podSecurityContext | nindent 8 }}
+        {{- toYaml . | nindent 8 }}
+      {{- end }}
       containers:
         - name: {{ .Chart.Name }}
+          {{- with .Values.securityContext }}
           securityContext:
-            {{- toYaml .Values.securityContext | nindent 12 }}
+            {{- toYaml . | nindent 12 }}
+          {{- end }}
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
           imagePullPolicy: {{ .Values.image.pullPolicy }}
           ports:
@@ -78,11 +82,13 @@ spec:
             periodSeconds: {{ .periodSeconds }}
             {{- end }}
           {{- end }}
+          {{- with .Values.resources }}
           resources:
-            {{- toYaml .Values.resources | nindent 12 }}
-          {{- if .Values.arguments }}
+            {{- toYaml . | nindent 12 }}
+          {{- end }}
+          {{- if .Values.args }}
           args:
-            {{- range .Values.arguments }}
+            {{- range .Values.args }}
             - {{ . }}
             {{- end }}
           {{- end }}            
diff --git a/charts/ghost/templates/service.yaml b/charts/ghost/templates/service.yaml
index 0d2854dcb644a4b0f962edfb6a5c28787872c356..386244a4353e67a03d4488845dca8e61c4f3f7c5 100644
--- a/charts/ghost/templates/service.yaml
+++ b/charts/ghost/templates/service.yaml
@@ -11,5 +11,11 @@ spec:
       targetPort: http
       protocol: TCP
       name: http
+      {{- if and (eq .Values.service.type "NodePort") (.Values.service.nodePort) }}
+      nodePort: {{ .Values.service.nodePort }}
+      {{- end }}
+  {{- if and (eq .Values.service.type "LoadBalancer") (.Values.service.clusterIP) }}
+  clusterIP: {{ .Values.service.clusterIP }}
+  {{- end }}
   selector:
     {{- include "ghost.selectorLabels" . | nindent 4 }}
diff --git a/charts/ghost/values.yaml b/charts/ghost/values.yaml
index a8a7e1cb642628095683d4edd8724a81b077f86f..0c94fe1491ea9e9d46e42ce075d14e42040969ad 100644
--- a/charts/ghost/values.yaml
+++ b/charts/ghost/values.yaml
@@ -43,6 +43,10 @@ securityContext:
 service:
   type: ClusterIP
   port: 80
+  ## The node port (only relevant for type NodePort)
+  nodePort: {}
+  ## The cluster ip address (only relevant for type LoadBalancer)
+  clusterIP: {}
 
 ## Ingress configuration
 ingress:
@@ -78,10 +82,8 @@ resources: {}
   #   cpu: 100m
   #   memory: 128Mi
 
-## Default node type for the image
-## use arm64 for the arm64v8 image
-nodeSelector:
-  kubernetes.io/arch: amd64
+## Additional node selector
+nodeSelector: {}
 
 tolerations: []
 
@@ -109,7 +111,7 @@ readinessProbe:
 env: []
 
 ## Arguments for the container entrypoint process
-arguments:
+args: []
 
 externalDatabase:
   ## Type of database ("mysql" or "mariadb" - default: sqlite)
@@ -138,13 +140,13 @@ settings:
 ## Storage parameters
 storage:
   ##  Set persistentVolumenClaimName to reference an existing PVC
-  # persistentVolumeClaimName: <own-pvc-name>
+  persistentVolumeClaimName: {}
 
   ## Alternative set requestedSize to define a size for a dynmaically created PVC
-  # requestedSize: <volume-size>
+  requestedSize: {}
 
   ## the storage class name
-  # className:
+  className: {}
 
   ## Default access mode (ReadWriteOnce)
   accessModes:
@@ -172,10 +174,10 @@ mariadb:
   # Storage parameters
   storage:
     ## Set persistentVolumenClaimName to reference an existing PVC
-    # persistentVolumeClaimName: <own-pvc-name>
+    persistentVolumeClaimName: {}
 
     ## Alternative set requestedSize to define a size for a dynmaically created PVC
-    # requestedSize: <volume-size>
+    requestedSize: {}
 
     ## the storage class name
-    # className:
+    className: {}