diff --git a/morph/lib/issuer-aws.nix b/morph/lib/issuer-aws.nix
index a66ab72addd43da1feb96bdd86d46312ec327fd3..bf7de56cfb570857da32c34ebfcc9b21c91e702e 100644
--- a/morph/lib/issuer-aws.nix
+++ b/morph/lib/issuer-aws.nix
@@ -9,7 +9,7 @@
   boot.kernel.sysctl = { "vm.swappiness" = 0; };
   swapDevices = [ {
     device = "/var/swapfile";
-    size = 8192; # megabytes
+    size = 4096; # megabytes
     randomEncryption = true;
   } ];
 
@@ -17,4 +17,11 @@
   # morph-supplied name.  See also
   # <https://github.com/DBCDK/morph/issues/146>.
   networking.hostName = name;
+
+  # Clean up packages after a while
+  nix.gc = {
+    automatic = true;
+    dates = "weekly";
+    options = "--delete-older-than 30d";
+  };
 }
diff --git a/nixos/modules/monitoring/server/grafana-config/services-overview.json b/nixos/modules/monitoring/server/grafana-config/payments.json
similarity index 57%
rename from nixos/modules/monitoring/server/grafana-config/services-overview.json
rename to nixos/modules/monitoring/server/grafana-config/payments.json
index 8ee7b130ce917183edfa26a7a53c1a8df1353303..1e1cc514fc51e0d65c1fd29a94fad4b4a5d6a5e5 100644
--- a/nixos/modules/monitoring/server/grafana-config/services-overview.json
+++ b/nixos/modules/monitoring/server/grafana-config/payments.json
@@ -12,11 +12,10 @@
       }
     ]
   },
-  "description": "RED: Requests-Errors-Duration for our services",
+  "description": "PaymentServer and related metrics",
   "editable": true,
   "gnetId": null,
   "graphTooltip": 0,
-  "id": 2,
   "links": [],
   "panels": [
     {
@@ -28,9 +27,251 @@
         "x": 0,
         "y": 0
       },
+      "id": 24,
+      "panels": [],
+      "title": "Payments",
+      "type": "row"
+    },
+    {
+      "aliasColors": {
+        "Attempts": "yellow",
+        "Successes": "green"
+      },
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": null,
+      "description": "Our calls to the Stripe API: Attempted and successful credit card charges.",
+      "fieldConfig": {
+        "defaults": {},
+        "overrides": []
+      },
+      "fill": 1,
+      "fillGradient": 0,
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 0,
+        "y": 1
+      },
+      "hiddenSeries": false,
+      "id": 22,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "nullPointMode": "null",
+      "options": {
+        "alertThreshold": true
+      },
+      "percentage": false,
+      "pluginVersion": "7.5.7",
+      "pointradius": 2,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [],
+      "spaceLength": 10,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+        {
+          "exemplar": true,
+          "expr": "processors_stripe_charge_attempts",
+          "hide": false,
+          "interval": "",
+          "legendFormat": "Attempts",
+          "refId": "B"
+        },
+        {
+          "exemplar": true,
+          "expr": "processors_stripe_charge_successes",
+          "interval": "",
+          "legendFormat": "Successes",
+          "refId": "C"
+        }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeRegions": [],
+      "timeShift": null,
+      "title": "Stripe",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+        {
+          "$$hashKey": "object:350",
+          "format": "short",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": null,
+          "show": true
+        },
+        {
+          "$$hashKey": "object:351",
+          "format": "short",
+          "label": null,
+          "logBase": 1,
+          "max": null,
+          "min": null,
+          "show": true
+        }
+      ],
+      "yaxis": {
+        "align": false,
+        "alignLevel": null
+      }
+    },
+    {
+      "aliasColors": {
+        "Redeemed vouchers": "yellow"
+      },
+      "bars": false,
+      "dashLength": 10,
+      "dashes": false,
+      "datasource": null,
+      "description": "",
+      "fieldConfig": {
+        "defaults": {},
+        "overrides": []
+      },
+      "fill": 1,
+      "fillGradient": 0,
+      "gridPos": {
+        "h": 7,
+        "w": 12,
+        "x": 12,
+        "y": 1
+      },
+      "hiddenSeries": false,
+      "id": 20,
+      "legend": {
+        "avg": false,
+        "current": false,
+        "max": false,
+        "min": false,
+        "show": true,
+        "total": false,
+        "values": false
+      },
+      "lines": true,
+      "linewidth": 1,
+      "nullPointMode": "null",
+      "options": {
+        "alertThreshold": true
+      },
+      "percentage": false,
+      "pluginVersion": "7.5.7",
+      "pointradius": 2,
+      "points": false,
+      "renderer": "flot",
+      "seriesOverrides": [
+        {
+          "$$hashKey": "object:223",
+          "alias": "Redeemed vouchers",
+          "yaxis": 1
+        },
+        {
+          "$$hashKey": "object:230",
+          "alias": "Issued signatures",
+          "yaxis": 2
+        }
+      ],
+      "spaceLength": 10,
+      "stack": false,
+      "steppedLine": false,
+      "targets": [
+        {
+          "exemplar": true,
+          "expr": "redemption_signatures_issued",
+          "interval": "",
+          "legendFormat": "Issued signatures",
+          "refId": "A"
+        },
+        {
+          "exemplar": true,
+          "expr": "redemption_voucher_redeemed",
+          "format": "time_series",
+          "hide": false,
+          "interval": "",
+          "legendFormat": "Redeemed vouchers",
+          "refId": "B"
+        }
+      ],
+      "thresholds": [],
+      "timeFrom": null,
+      "timeRegions": [],
+      "timeShift": null,
+      "title": "Redemption",
+      "tooltip": {
+        "shared": true,
+        "sort": 0,
+        "value_type": "individual"
+      },
+      "type": "graph",
+      "xaxis": {
+        "buckets": null,
+        "mode": "time",
+        "name": null,
+        "show": true,
+        "values": []
+      },
+      "yaxes": [
+        {
+          "$$hashKey": "object:285",
+          "format": "short",
+          "label": "",
+          "logBase": 1,
+          "max": null,
+          "min": "0",
+          "show": true
+        },
+        {
+          "$$hashKey": "object:286",
+          "decimals": null,
+          "format": "short",
+          "label": "",
+          "logBase": 1,
+          "max": null,
+          "min": "0",
+          "show": true
+        }
+      ],
+      "yaxis": {
+        "align": false,
+        "alignLevel": null
+      }
+    },
+    {
+      "collapsed": false,
+      "datasource": null,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 8
+      },
       "id": 18,
       "panels": [],
-      "title": "Payments v1/stripe/charge",
+      "title": "HTTP v1/stripe/charge",
       "type": "row"
     },
     {
@@ -40,14 +281,21 @@
       "dashes": false,
       "datasource": null,
       "description": "HTTPS responses per second",
+      "fieldConfig": {
+        "defaults": {
+          "links": []
+        },
+        "overrides": []
+      },
       "fill": 1,
       "fillGradient": 0,
       "gridPos": {
         "h": 7,
         "w": 8,
         "x": 0,
-        "y": 1
+        "y": 9
       },
+      "hiddenSeries": false,
       "id": 4,
       "legend": {
         "avg": false,
@@ -62,9 +310,10 @@
       "linewidth": 1,
       "nullPointMode": "null",
       "options": {
-        "dataLinks": []
+        "alertThreshold": true
       },
       "percentage": false,
+      "pluginVersion": "7.5.7",
       "pointradius": 2,
       "points": false,
       "renderer": "flot",
@@ -74,8 +323,10 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "rate(http_responses_total{path=\"v1/stripe/charge\"}[5m])",
+          "exemplar": true,
+          "expr": "rate(http_responses_total{path=\"v1/stripe/charge\", instance=\"payments\"}[5m])",
           "instant": false,
+          "interval": "",
           "legendFormat": "{{status}}",
           "refId": "A"
         }
@@ -84,7 +335,7 @@
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "v1/stripe/charge RPS",
+      "title": "Requests per second",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -100,14 +351,16 @@
       },
       "yaxes": [
         {
+          "$$hashKey": "object:452",
           "format": "short",
           "label": null,
           "logBase": 1,
           "max": null,
-          "min": null,
+          "min": "0",
           "show": true
         },
         {
+          "$$hashKey": "object:453",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -128,14 +381,21 @@
       "dashes": false,
       "datasource": null,
       "description": "",
+      "fieldConfig": {
+        "defaults": {
+          "links": []
+        },
+        "overrides": []
+      },
       "fill": 1,
       "fillGradient": 0,
       "gridPos": {
         "h": 7,
         "w": 8,
         "x": 8,
-        "y": 1
+        "y": 9
       },
+      "hiddenSeries": false,
       "id": 15,
       "legend": {
         "avg": false,
@@ -150,9 +410,10 @@
       "linewidth": 1,
       "nullPointMode": "null",
       "options": {
-        "dataLinks": []
+        "alertThreshold": true
       },
-      "percentage": true,
+      "percentage": false,
+      "pluginVersion": "7.5.7",
       "pointradius": 2,
       "points": false,
       "renderer": "flot",
@@ -162,12 +423,16 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"4XX\"}) / sum(http_responses_total{path=\"v1/redeem\"})",
+          "exemplar": true,
+          "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"4XX\"}) / sum(http_responses_total{path=\"v1/stripe/charge\"})",
+          "interval": "",
           "legendFormat": "Client error (4XX) rate",
           "refId": "A"
         },
         {
-          "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"5XX\"}) / sum(http_responses_total{path=\"v1/redeem\"})",
+          "exemplar": true,
+          "expr": "sum(http_responses_total{path=\"v1/stripe/charge\", status=\"5XX\"}) / sum(http_responses_total{path=\"v1/stripe/charge\"})",
+          "interval": "",
           "legendFormat": "Server error (5XX) rate",
           "refId": "B"
         }
@@ -176,7 +441,7 @@
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "v1/stripe/charge error rate",
+      "title": "Error rate",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -192,14 +457,16 @@
       },
       "yaxes": [
         {
+          "$$hashKey": "object:576",
           "format": "percentunit",
           "label": null,
           "logBase": 1,
-          "max": "100",
+          "max": "1",
           "min": "0",
           "show": true
         },
         {
+          "$$hashKey": "object:577",
           "format": "percent",
           "label": null,
           "logBase": 1,
@@ -214,21 +481,33 @@
       }
     },
     {
-      "aliasColors": {},
+      "aliasColors": {
+        "=< 0.1s": "blue",
+        "=< 1s": "green",
+        "=< 5s": "yellow",
+        "> 5s": "orange"
+      },
       "bars": false,
       "cacheTimeout": null,
       "dashLength": 10,
       "dashes": false,
       "datasource": null,
-      "description": "Requests taking longer than 1 s, between 1 sec and 10 msec, and 10 msec and below",
+      "description": "Request durations, stacked",
+      "fieldConfig": {
+        "defaults": {
+          "links": []
+        },
+        "overrides": []
+      },
       "fill": 2,
       "fillGradient": 0,
       "gridPos": {
         "h": 7,
         "w": 8,
         "x": 16,
-        "y": 1
+        "y": 9
       },
+      "hiddenSeries": false,
       "id": 12,
       "legend": {
         "avg": false,
@@ -244,51 +523,68 @@
       "links": [],
       "nullPointMode": "null",
       "options": {
-        "dataLinks": []
+        "alertThreshold": true
       },
       "percentage": false,
-      "pluginVersion": "6.4.3",
+      "pluginVersion": "7.5.7",
       "pointradius": 2,
       "points": false,
       "renderer": "flot",
       "seriesOverrides": [],
       "spaceLength": 10,
-      "stack": false,
+      "stack": true,
       "steppedLine": false,
       "targets": [
         {
-          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.01\"}",
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.1\"}",
           "format": "time_series",
           "hide": false,
           "instant": false,
+          "interval": "",
           "intervalFactor": 1,
-          "legendFormat": "=< 0.01s",
+          "legendFormat": "=< 0.1s",
           "refId": "A"
         },
         {
-          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.01\"}",
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"0.1\"}",
           "format": "time_series",
           "hide": false,
           "instant": false,
+          "interval": "",
           "intervalFactor": 1,
           "legendFormat": "=< 1s",
           "refId": "D"
         },
         {
-          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"+Inf\"} - ignoring(le)  http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"}",
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"5.0\"} - ignoring(le)  http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"1.0\"}",
           "format": "time_series",
           "hide": false,
           "instant": false,
+          "interval": "",
           "intervalFactor": 1,
-          "legendFormat": "> 1s",
+          "legendFormat": "=< 5s",
           "refId": "B"
+        },
+        {
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"+Inf\"} - ignoring(le)  http_request_duration_seconds_bucket{path=\"v1/stripe/charge\", le=\"5.0\"}",
+          "format": "time_series",
+          "hide": false,
+          "instant": false,
+          "interval": "",
+          "intervalFactor": 1,
+          "legendFormat": "> 5s",
+          "refId": "C"
         }
       ],
       "thresholds": [],
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "v1/stripe/charge durations",
+      "title": "Durations",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -304,14 +600,16 @@
       },
       "yaxes": [
         {
+          "$$hashKey": "object:625",
           "format": "short",
           "label": null,
           "logBase": 1,
           "max": null,
-          "min": null,
+          "min": "0",
           "show": true
         },
         {
+          "$$hashKey": "object:626",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -332,11 +630,11 @@
         "h": 1,
         "w": 24,
         "x": 0,
-        "y": 8
+        "y": 16
       },
       "id": 11,
       "panels": [],
-      "title": "Payments v1/redeem",
+      "title": "HTTP v1/redeem",
       "type": "row"
     },
     {
@@ -346,14 +644,21 @@
       "dashes": false,
       "datasource": null,
       "description": "HTTPS responses per second",
+      "fieldConfig": {
+        "defaults": {
+          "links": []
+        },
+        "overrides": []
+      },
       "fill": 1,
       "fillGradient": 0,
       "gridPos": {
         "h": 7,
         "w": 8,
         "x": 0,
-        "y": 9
+        "y": 17
       },
+      "hiddenSeries": false,
       "id": 2,
       "legend": {
         "avg": false,
@@ -368,9 +673,10 @@
       "linewidth": 1,
       "nullPointMode": "null",
       "options": {
-        "dataLinks": []
+        "alertThreshold": true
       },
       "percentage": false,
+      "pluginVersion": "7.5.7",
       "pointradius": 2,
       "points": false,
       "renderer": "flot",
@@ -391,7 +697,7 @@
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "v1/redeem RPS",
+      "title": "Requests per second",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -407,14 +713,16 @@
       },
       "yaxes": [
         {
+          "$$hashKey": "object:751",
           "format": "short",
           "label": null,
           "logBase": 1,
           "max": null,
-          "min": null,
+          "min": "0",
           "show": true
         },
         {
+          "$$hashKey": "object:752",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -434,14 +742,21 @@
       "dashLength": 10,
       "dashes": false,
       "datasource": null,
+      "fieldConfig": {
+        "defaults": {
+          "links": []
+        },
+        "overrides": []
+      },
       "fill": 1,
       "fillGradient": 0,
       "gridPos": {
         "h": 7,
         "w": 8,
         "x": 8,
-        "y": 9
+        "y": 17
       },
+      "hiddenSeries": false,
       "id": 16,
       "legend": {
         "avg": false,
@@ -456,9 +771,10 @@
       "linewidth": 1,
       "nullPointMode": "null",
       "options": {
-        "dataLinks": []
+        "alertThreshold": true
       },
-      "percentage": true,
+      "percentage": false,
+      "pluginVersion": "7.5.7",
       "pointradius": 2,
       "points": false,
       "renderer": "flot",
@@ -482,7 +798,7 @@
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "v1/redeem error rate",
+      "title": "Error rate",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -498,14 +814,16 @@
       },
       "yaxes": [
         {
+          "$$hashKey": "object:804",
           "format": "percentunit",
           "label": null,
           "logBase": 1,
-          "max": "100",
+          "max": "1",
           "min": "0",
           "show": true
         },
         {
+          "$$hashKey": "object:805",
           "format": "percent",
           "label": null,
           "logBase": 1,
@@ -520,21 +838,33 @@
       }
     },
     {
-      "aliasColors": {},
+      "aliasColors": {
+        "=< 0.1s": "blue",
+        "=< 1s": "green",
+        "=< 5s": "yellow",
+        "> 5s": "orange"
+      },
       "bars": false,
       "cacheTimeout": null,
       "dashLength": 10,
       "dashes": false,
       "datasource": null,
-      "description": "Requests taking longer than 1 s, between 1 sec and 10 msec, and 10 msec and below",
+      "description": "Request durations, stacked.",
+      "fieldConfig": {
+        "defaults": {
+          "links": []
+        },
+        "overrides": []
+      },
       "fill": 2,
       "fillGradient": 0,
       "gridPos": {
         "h": 7,
         "w": 8,
         "x": 16,
-        "y": 9
+        "y": 17
       },
+      "hiddenSeries": false,
       "id": 13,
       "legend": {
         "avg": false,
@@ -550,51 +880,68 @@
       "links": [],
       "nullPointMode": "null",
       "options": {
-        "dataLinks": []
+        "alertThreshold": true
       },
       "percentage": false,
-      "pluginVersion": "6.4.3",
+      "pluginVersion": "7.5.7",
       "pointradius": 2,
       "points": false,
       "renderer": "flot",
       "seriesOverrides": [],
       "spaceLength": 10,
-      "stack": false,
+      "stack": true,
       "steppedLine": false,
       "targets": [
         {
-          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.01\"}",
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.1\"}",
           "format": "time_series",
           "hide": false,
           "instant": false,
+          "interval": "",
           "intervalFactor": 1,
-          "legendFormat": "=< 0.01s",
+          "legendFormat": "=< 0.1s",
           "refId": "A"
         },
         {
-          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.01\"}",
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"} - ignoring(le) http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"0.1\"}",
           "format": "time_series",
           "hide": false,
           "instant": false,
+          "interval": "",
           "intervalFactor": 1,
           "legendFormat": "=< 1s",
           "refId": "D"
         },
         {
-          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"+Inf\"} - ignoring(le)  http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"}",
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"5.0\"} - ignoring(le)  http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"1.0\"}",
           "format": "time_series",
           "hide": false,
           "instant": false,
+          "interval": "",
           "intervalFactor": 1,
-          "legendFormat": "> 1s",
+          "legendFormat": "=< 5s",
           "refId": "B"
+        },
+        {
+          "exemplar": true,
+          "expr": "http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"+Inf\"} - ignoring(le)  http_request_duration_seconds_bucket{path=\"v1/redeem\", le=\"5.0\"}",
+          "format": "time_series",
+          "hide": false,
+          "instant": false,
+          "interval": "",
+          "intervalFactor": 1,
+          "legendFormat": "> 5s",
+          "refId": "C"
         }
       ],
       "thresholds": [],
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "v1/redeem durations",
+      "title": "Durations",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -610,14 +957,16 @@
       },
       "yaxes": [
         {
+          "$$hashKey": "object:853",
           "format": "short",
           "label": null,
           "logBase": 1,
           "max": null,
-          "min": null,
+          "min": "0",
           "show": true
         },
         {
+          "$$hashKey": "object:854",
           "format": "short",
           "label": null,
           "logBase": 1,
@@ -632,8 +981,8 @@
       }
     }
   ],
-  "refresh": "",
-  "schemaVersion": 20,
+  "refresh": "5m",
+  "schemaVersion": 27,
   "style": "dark",
   "tags": [],
   "templating": {
@@ -658,7 +1007,7 @@
     ]
   },
   "timezone": "",
-  "title": "Services overview",
-  "uid": "JX3RVEk7k",
-  "version": 6
+  "title": "Payments",
+  "uid": "Payments",
+  "version": 1
 }
diff --git a/nixos/modules/monitoring/server/grafana-config/resources-overview.json b/nixos/modules/monitoring/server/grafana-config/resources-overview.json
index cd171d50594d77153f4d905bd91aec12f6bafcb9..cb5bc91da7c3adbb1c9377473b053d31d53550f0 100644
--- a/nixos/modules/monitoring/server/grafana-config/resources-overview.json
+++ b/nixos/modules/monitoring/server/grafana-config/resources-overview.json
@@ -1279,8 +1279,8 @@
     "to": "now"
   },
   "timepicker": {},
-  "timezone": "utc",
+  "timezone": "",
   "title": "Resources overview",
-  "uid": "ResSatUse",
+  "uid": "ResourcesOverview",
   "version": 1
 }
diff --git a/nixos/modules/monitoring/server/grafana.nix b/nixos/modules/monitoring/server/grafana.nix
index 2fd9e7f7c83217afc4943e644f6d3161e56c49f9..c23150238241db561bae52aa50e4878b6961f9e6 100644
--- a/nixos/modules/monitoring/server/grafana.nix
+++ b/nixos/modules/monitoring/server/grafana.nix
@@ -86,6 +86,8 @@ in {
       extraOptions = {
         # Defend against DNS rebinding attacks.
         SERVER_ENFORCE_DOMAIN = "true";
+        # Same time zone for all users by default
+        DATE_FORMATS_DEFAULT_TIMEZONE = "UTC";
       };
 
       auth = {
diff --git a/nixos/modules/monitoring/server/prometheus.nix b/nixos/modules/monitoring/server/prometheus.nix
index c92261ccad2ebdd8dd34dda9027e66962b345be9..1f27f023df5b3211a81e3603226cc7cfe2c25e27 100644
--- a/nixos/modules/monitoring/server/prometheus.nix
+++ b/nixos/modules/monitoring/server/prometheus.nix
@@ -59,7 +59,9 @@ in {
           scheme = "https";
           tls_config.insecure_skip_verify = true;
           static_configs = [{
-            targets = cfg.paymentExporterTargets;
+            # Explicitly setting the port number so the relabel_config can filter it out again.
+            # Leaving it out makes the port number show in Grafana.
+            targets = map (x: x + ":443") cfg.paymentExporterTargets;
           }];
           relabel_configs = [ dropPortNumber ];
         }
diff --git a/nixpkgs-ps.json b/nixpkgs-ps.json
index 97449535de722fdaf89d8551c6bd6d124e3818c7..58add30734e8f7b9b2840a9be38693ceb6a4249d 100644
--- a/nixpkgs-ps.json
+++ b/nixpkgs-ps.json
@@ -1,4 +1,4 @@
 { "name": "nixpkgs"
-, "url": "https://github.com/PrivateStorageio/nixpkgs/archive/a5cbaadd9676e8c568061e92bbf5ad6a5d884ded.tar.gz"
-, "sha256": "0q5zknsp0qb25ag9zr9bw1ap7pb3f76bxsw81ahxkzj4z5dw6k2f"
+, "url": "https://github.com/PrivateStorageio/nixpkgs/archive/5ebd5af2d5c6caf23735c8c0e6bc27357fa8d2a8.tar.gz"
+, "sha256": "1g2bvs8prqjskzv8s1qmh36k7rmj98jib0syqbrq02xxzw5dpqb4"
 }