diff --git a/lib/config/definitions.js b/lib/config/definitions.js
index 940fe03d1f134cb97440522e086b41d6103c4760..4dbb35d2ab6ed40cb7ea98d3d54e9d013d421922 100644
--- a/lib/config/definitions.js
+++ b/lib/config/definitions.js
@@ -1138,7 +1138,7 @@ const options = [
     name: 'endpoints',
     description: 'Endpoint configuration for credentials',
     type: 'list',
-    stage: 'global',
+    stage: 'repository',
     mergeable: true,
   },
 ];
diff --git a/website/docs/configuration-options.md b/website/docs/configuration-options.md
index cbe3dc9838557a75d13c68cc39a62134d9f87342..f28a422c60db10f193d2ad5de83c927bac9f2ffa 100644
--- a/website/docs/configuration-options.md
+++ b/website/docs/configuration-options.md
@@ -193,6 +193,20 @@ Example:
 
 See https://renovatebot.com/docs/deep-dives/private-modules for details on how this is used to encrypt npm tokens.
 
+## endpoints
+
+Example for configuring `docker` auth:
+
+```json
+{
+  "endpoints": {
+    "platform": "docker",
+    "username": "<some-username>",
+    "password": "<some-password>"
+  }
+}
+```
+
 ## engines
 
 Extend this if you wish to configure rules specifically for `engines` definitions. Currently only `node` is supported.
diff --git a/website/docs/self-hosted-configuration.md b/website/docs/self-hosted-configuration.md
index 3bff65826f3b3eec6f6c4cf11f51611782af5eb9..263bb3325105f1bd01dcb1030988ded03b7dfaa7 100644
--- a/website/docs/self-hosted-configuration.md
+++ b/website/docs/self-hosted-configuration.md
@@ -13,8 +13,6 @@ Be cautious when using this option - it will run Renovate over _every_ repositor
 
 ## endpoint
 
-## endpoints
-
 ## exposeEnv
 
 ## force