diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 33654bfb85650657542629c74a92f0b11b9c4862..706cfc5c90446f0f4d3eb71c3312c619da11b8ec 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -139,6 +139,11 @@ production: &base
     ##   10 - Light Red
     ##   11 - Dark Mode (alpha)
     # default_theme: 1 # default: 1
+    ## Default color mode ID
+    ##   1 - Light
+    ##   2 - Dark
+    ##   3 - Automatic
+    # default_color_mode: 1 # default: 1
 
     ## Custom html header tags
     # In some cases some custom header tags are needed
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index aa62fb56cecd9774d25ab5edb24e804ded56639f..b3d90e94dab5ae83591817e33a170754b91838b2 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -191,6 +191,7 @@
 # `default_can_create_group` is deprecated since GitLab 15.5 in favour of the `can_create_group` column on `ApplicationSetting`.
 Settings.gitlab['default_can_create_group'] = true if Settings.gitlab['default_can_create_group'].nil?
 Settings.gitlab['default_theme'] = Gitlab::Themes::APPLICATION_DEFAULT if Settings.gitlab['default_theme'].nil?
+Settings.gitlab['default_color_mode'] = Gitlab::ColorModes::APPLICATION_DEFAULT if Settings.gitlab['default_color_mode'].nil?
 Settings.gitlab['dns_rebinding_protection_enabled'] ||= !Gitlab.http_proxy_env?
 Settings.gitlab['custom_html_header_tags'] ||= Settings.gitlab['custom_html_header_tags'] || ''
 Settings.gitlab['host'] ||= ENV['GITLAB_HOST'] || 'localhost'