diff --git a/helm/templates/prometheus/node-port.yaml b/helm/templates/prometheus/node-port.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..dc241d988439f45b181e3f993405278fe2ee9f93
--- /dev/null
+++ b/helm/templates/prometheus/node-port.yaml
@@ -0,0 +1,16 @@
+{{- if and .Values.prometheus.enabled .Values.prometheus.nodePort.enabled -}}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ template "theodolite.fullname" . }}-prometheus-nodeport
+spec:
+  type: NodePort
+  ports:
+  - name: web
+    nodePort: {{ .Values.prometheus.nodePort.nodePort }}
+    port: 9090
+    protocol: TCP
+    targetPort: 9090
+  selector:
+    app.kubernetes.io/name: prometheus
+{{- end}}
diff --git a/helm/values.yaml b/helm/values.yaml
index 6acebe1874804ab47332c554aa970965864c0340..78b425ff85552b0c2aeac7cc9a69d5f0a4e635ef 100644
--- a/helm/values.yaml
+++ b/helm/values.yaml
@@ -287,6 +287,9 @@ prometheus:
   enabled: true
   podMetadata: {}
   nodeSelector: {}
+  nodePort:
+    enabled: false
+    nodePort: 30900
   
   serviceAccount:
     enabled: true