diff --git a/badge-maker_lib_index.js.html b/badge-maker_lib_index.js.html
index d38b999c1d..e61d3351c8 100644
--- a/badge-maker_lib_index.js.html
+++ b/badge-maker_lib_index.js.html
@@ -123,7 +123,7 @@ module.exports = {
diff --git a/badge-maker_lib_xml.js.html b/badge-maker_lib_xml.js.html
index f0ed6f539c..cb925aa8d6 100644
--- a/badge-maker_lib_xml.js.html
+++ b/badge-maker_lib_xml.js.html
@@ -138,7 +138,7 @@ module.exports = { escapeXml, stripXmlWhitespace, XmlElement, ElementList }
diff --git a/core_base-service_base-graphql.js.html b/core_base-service_base-graphql.js.html
index 79df6d7880..43e8f2aa3a 100644
--- a/core_base-service_base-graphql.js.html
+++ b/core_base-service_base-graphql.js.html
@@ -144,7 +144,7 @@ export default BaseGraphqlService
diff --git a/core_base-service_base-json.js.html b/core_base-service_base-json.js.html
index bd2b87799d..c027f57c35 100644
--- a/core_base-service_base-json.js.html
+++ b/core_base-service_base-json.js.html
@@ -110,7 +110,7 @@ export default BaseJsonService
diff --git a/core_base-service_base-svg-scraping.js.html b/core_base-service_base-svg-scraping.js.html
index 83343de1c6..5a42b821ec 100644
--- a/core_base-service_base-svg-scraping.js.html
+++ b/core_base-service_base-svg-scraping.js.html
@@ -141,7 +141,7 @@ export default BaseSvgScrapingService
diff --git a/core_base-service_base-xml.js.html b/core_base-service_base-xml.js.html
index 324246452a..f4baff169d 100644
--- a/core_base-service_base-xml.js.html
+++ b/core_base-service_base-xml.js.html
@@ -120,7 +120,7 @@ export default BaseXmlService
diff --git a/core_base-service_base-yaml.js.html b/core_base-service_base-yaml.js.html
index 8b6846a2fb..4c2410f181 100644
--- a/core_base-service_base-yaml.js.html
+++ b/core_base-service_base-yaml.js.html
@@ -123,7 +123,7 @@ export default BaseYamlService
diff --git a/core_base-service_base.js.html b/core_base-service_base.js.html
index 0fe9b0ee98..ae3eee60b6 100644
--- a/core_base-service_base.js.html
+++ b/core_base-service_base.js.html
@@ -658,7 +658,7 @@ export default BaseService
diff --git a/core_base-service_errors.js.html b/core_base-service_errors.js.html
index 42294846f7..4d7a12ef60 100644
--- a/core_base-service_errors.js.html
+++ b/core_base-service_errors.js.html
@@ -265,7 +265,7 @@ export {
diff --git a/core_base-service_graphql.js.html b/core_base-service_graphql.js.html
index f71682d649..6211a23de7 100644
--- a/core_base-service_graphql.js.html
+++ b/core_base-service_graphql.js.html
@@ -93,7 +93,7 @@ export { mergeQueries }
diff --git a/core_base-service_openapi.js.html b/core_base-service_openapi.js.html
index e4ad64abfa..0f98c10833 100644
--- a/core_base-service_openapi.js.html
+++ b/core_base-service_openapi.js.html
@@ -511,7 +511,7 @@ export { category2openapi, pathParam, pathParams, queryParam, queryParams }
diff --git a/core_base-service_resource-cache.js.html b/core_base-service_resource-cache.js.html
index a9b2a3652b..2f27be9656 100644
--- a/core_base-service_resource-cache.js.html
+++ b/core_base-service_resource-cache.js.html
@@ -111,7 +111,7 @@ export { getCachedResource, clearResourceCache }
diff --git a/core_server_prometheus-metrics.js.html b/core_server_prometheus-metrics.js.html
index 018b9c9c27..7d66345e09 100644
--- a/core_server_prometheus-metrics.js.html
+++ b/core_server_prometheus-metrics.js.html
@@ -127,7 +127,7 @@ export default class PrometheusMetrics {
diff --git a/core_server_server.js.html b/core_server_server.js.html
index 0e59ffa698..978ed5ccac 100644
--- a/core_server_server.js.html
+++ b/core_server_server.js.html
@@ -642,7 +642,7 @@ export default Server
diff --git a/core_service-test-runner_create-service-tester.js.html b/core_service-test-runner_create-service-tester.js.html
index 82dc765181..5304a5b583 100644
--- a/core_service-test-runner_create-service-tester.js.html
+++ b/core_service-test-runner_create-service-tester.js.html
@@ -74,7 +74,7 @@ export default createServiceTester
diff --git a/core_service-test-runner_icedfrisby-shields.js.html b/core_service-test-runner_icedfrisby-shields.js.html
index e76465dc56..f118e3c23b 100644
--- a/core_service-test-runner_icedfrisby-shields.js.html
+++ b/core_service-test-runner_icedfrisby-shields.js.html
@@ -146,7 +146,7 @@ export default factory
diff --git a/core_service-test-runner_runner.js.html b/core_service-test-runner_runner.js.html
index 625194bfa3..78dc72d7aa 100644
--- a/core_service-test-runner_runner.js.html
+++ b/core_service-test-runner_runner.js.html
@@ -118,7 +118,7 @@ export default Runner
diff --git a/core_service-test-runner_service-tester.js.html b/core_service-test-runner_service-tester.js.html
index 981435284b..fa3b55553f 100644
--- a/core_service-test-runner_service-tester.js.html
+++ b/core_service-test-runner_service-tester.js.html
@@ -184,7 +184,7 @@ export default ServiceTester
diff --git a/core_service-test-runner_services-for-title.js.html b/core_service-test-runner_services-for-title.js.html
index e871821e20..dc6a787a04 100644
--- a/core_service-test-runner_services-for-title.js.html
+++ b/core_service-test-runner_services-for-title.js.html
@@ -75,7 +75,7 @@ export default servicesForTitle
diff --git a/core_token-pooling_token-pool.js.html b/core_token-pooling_token-pool.js.html
index c5827a42b7..e33b2c2ab9 100644
--- a/core_token-pooling_token-pool.js.html
+++ b/core_token-pooling_token-pool.js.html
@@ -379,7 +379,7 @@ export { sanitizeToken, Token, TokenPool }
diff --git a/global.html b/global.html
index 12139fe790..5784da763b 100644
--- a/global.html
+++ b/global.html
@@ -684,7 +684,7 @@
diff --git a/index.html b/index.html
index 0af5704b01..4bab8f5895 100644
--- a/index.html
+++ b/index.html
@@ -118,8 +118,8 @@ maybe you'd like to open a pull request to address one of them.
npm ci to install the dependencies.npm start to start the badge server and the frontend dev server.foobar@v1.23. D
Node >=16 and NPM 9.x is required. If you don't already have them, +
Node >=18 and NPM 9.x is required. If you don't already have them, install node and npm: https://nodejs.org/en/download/
:user/:repo.
local-shields-io-production.yml (see
diff --git a/tutorial-releases.html b/tutorial-releases.html
index c0242383b6..c6e516d358 100644
--- a/tutorial-releases.html
+++ b/tutorial-releases.html
@@ -79,7 +79,7 @@
This document describes how to host your own shields server either from source or using a docker image. See the docs on releases for info on how we version the server and how to choose a release.
You will need Node 16 or later, which you can install using a +
You will need Node 18 or later, which you can install using a package manager.
On Ubuntu / Debian:
-curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -; sudo apt-get install -y nodejs
+curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -; sudo apt-get install -y nodejs
git clone https://github.com/badges/shields.git
cd shields
@@ -180,7 +180,7 @@ Set public.requireCloudflare: true.
diff --git a/tutorial-server-secrets.html b/tutorial-server-secrets.html
index e702c227f5..ffb7377576 100644
--- a/tutorial-server-secrets.html
+++ b/tutorial-server-secrets.html
@@ -294,7 +294,7 @@ and create an API key for the YouTube Data API v3.
diff --git a/tutorial-service-tests.html b/tutorial-service-tests.html
index 424e5e7f92..5d721149e4 100644
--- a/tutorial-service-tests.html
+++ b/tutorial-service-tests.html
@@ -246,7 +246,7 @@ comment there instead.
diff --git a/tutorial-static-badges.html b/tutorial-static-badges.html
index d21c4f6c79..fd662211b0 100644
--- a/tutorial-static-badges.html
+++ b/tutorial-static-badges.html
@@ -42,7 +42,7 @@