{"id":3779,"date":"2025-12-01T13:30:36","date_gmt":"2025-12-01T13:30:36","guid":{"rendered":"https:\/\/www.devopsconsulting.in\/blog\/?p=3779"},"modified":"2025-12-01T13:30:36","modified_gmt":"2025-12-01T13:30:36","slug":"keycloak-26-3-3-complete-guide-to-bootstrap-admin","status":"publish","type":"post","link":"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/","title":{"rendered":"KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING)"},"content":{"rendered":"\n<p>Below is a <strong>fully comprehensive, step-by-step, production-ready guide<\/strong> for <strong>Keycloak 26.3.3<\/strong> explaining:<\/p>\n\n\n\n<p>\u2714 How bootstrap admin works<br>\u2714 Why admin-user.json does not exist<br>\u2714 How to create a temporary admin<br>\u2714 How to convert temporary admin \u2192 persistent admin<br>\u2714 How to start in dev\/prod mode<br>\u2714 All correct commands<br>\u2714 All common errors + solutions<br>\u2714 Directory structure + security notes<\/p>\n\n\n\n<p>This is the most detailed guide you will find for <strong>Keycloak 26.x (Quarkus)<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>\u2705 \ud83d\udd25 KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING)<\/strong><\/p>\n\n\n\n<p>Keycloak 26 uses a new security model for admin creation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2b50 Key Changes in Keycloak 26<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>No admin-user.json file<\/strong><br>\u2714 Keycloak 25+ does not store admin user in <code>data\/admin-user.json<\/code> anymore<br>\u2714 It temporarily injects admin user into DB during bootstrap, then removes it<\/li>\n\n\n\n<li><strong><code>bootstrap-admin user<\/code> syntax replaced <code>create<\/code><\/strong><\/li>\n\n\n\n<li><strong><code>--password<\/code> removed<\/strong><br>\u2714 Only <code>--password:env VARIABLE<\/code> is allowed<\/li>\n\n\n\n<li><strong>Admin account created is <em>Temporary<\/em><\/strong><br>\u2714 Exists only <strong>while server is starting<\/strong><br>\u2714 After server exits, admin is gone unless &#8220;persisted&#8221;<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 1 \u2014 UNDERSTANDING BOOTSTRAP ADMIN IN KEYCLOAK 26<\/h1>\n\n\n\n<p>Keycloak has two kinds of admin:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1\ufe0f\u20e3 Temporary Admin (Bootstrap Admin)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Created using: <code>kc.sh bootstrap-admin user ...<\/code><\/li>\n\n\n\n<li>Lives only until Keycloak fully boots<\/li>\n\n\n\n<li>After server stops \u2192 admin disappears<\/li>\n\n\n\n<li>Used only to get <strong>first-time access<\/strong> to admin console<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2\ufe0f\u20e3 Persistent Admin (Stored in DB)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Created from Keycloak Admin Console<\/li>\n\n\n\n<li>Stored permanently<\/li>\n\n\n\n<li>Does NOT depend on bootstrap admin<\/li>\n<\/ul>\n\n\n\n<p>\u2757 Keycloak does NOT store bootstrap admin in:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MariaDB\/MySQL tables<\/li>\n\n\n\n<li>admin-user.json<\/li>\n\n\n\n<li>Environment variables<\/li>\n<\/ul>\n\n\n\n<p>Therefore, <strong>you cannot see it in DB<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 2 \u2014 CREATING TEMPORARY ADMIN (WORKING)<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 1 \u2014 Stop Keycloak<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/bin\/kc.sh stop\n<\/code><\/pre>\n\n\n\n<p>(If already stopped, ignore errors)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 2 \u2014 Set password via environment variable<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>export KEYCLOAK_ADMIN_PASSWORD=\"Admin@123\"\n<\/code><\/pre>\n\n\n\n<p>\u2714 REQUIRED for Keycloak 26+<br>\u2714 Inline passwords are NOT allowed<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Step 3 \u2014 Create temporary admin user<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/bin\/kc.sh bootstrap-admin user --username admin --password:env KEYCLOAK_ADMIN_PASSWORD\n<\/code><\/pre>\n\n\n\n<p>Expected output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>KC-SERVICES0077: Created temporary admin user with username admin\nKeycloak started...\nKeycloak stopped\n<\/code><\/pre>\n\n\n\n<p>\u2714 This confirms temporary admin is created<br>\u2714 Keycloak immediately stops after creation (normal behavior)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 3 \u2014 START KEYCLOAK<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Development Mode (for testing)<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/bin\/kc.sh start-dev\n<\/code><\/pre>\n\n\n\n<p>URL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;your-domain:8080\n<\/code><\/pre>\n\n\n\n<p>\u2714 Works immediately<br>\u2714 Accepts local-only settings<br>\u2714 Auto-generates certificates<br>\u274c Not for production<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Production Mode (recommended)<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/bin\/kc.sh start\n<\/code><\/pre>\n\n\n\n<p>If you have SSL reverse proxy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Apache<\/li>\n\n\n\n<li>Nginx<\/li>\n\n\n\n<li>HAProxy<\/li>\n<\/ul>\n\n\n\n<p>URL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;auth.motoshare.in\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 4 \u2014 LOGIN USING TEMPORARY ADMIN<\/h1>\n\n\n\n<p>Login page:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;auth.motoshare.in:8080\/admin\n<\/code><\/pre>\n\n\n\n<p>Use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Username:<\/strong> admin<\/li>\n\n\n\n<li><strong>Password:<\/strong> Admin@123<\/li>\n<\/ul>\n\n\n\n<p>After you log in, you MUST IMMEDIATELY create a <strong>permanent admin user<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 5 \u2014 CREATE PERMANENT ADMIN (VERY IMPORTANT)<\/h1>\n\n\n\n<p>Inside Admin Console:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Go to:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Master Realm \u2192 Users \u2192 Add User\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Fill:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Username: <strong>admin<\/strong><\/li>\n\n\n\n<li>Email: your email<\/li>\n\n\n\n<li>Enabled: <strong>ON<\/strong><\/li>\n\n\n\n<li>Email Verified: <strong>ON<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Save \u2192 Credentials tab \u2192 Set password<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set: <strong>Admin@123<\/strong><\/li>\n\n\n\n<li>Temporary: <strong>OFF<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Correct.<\/p>\n\n\n\n<p>Now this admin is stored in your MariaDB.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 6 \u2014 CONFIRM ADMIN IS PERSISTENT IN DB<\/h1>\n\n\n\n<p>In MariaDB:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use keycloak;\n\nSELECT USERNAME FROM USER_ENTITY WHERE USERNAME = 'admin';\n<\/code><\/pre>\n\n\n\n<p>You should see:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>+----------+\n| USERNAME |\n+----------+\n| admin    |\n+----------+\n<\/code><\/pre>\n\n\n\n<p>\u2714 Now Keycloak will keep this user forever<br>\u2714 No need to use bootstrap-admin again<br>\u2714 Safe for production<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 7 \u2014 WHY admin-user.json DOES NOT EXIST ANYMORE?<\/h1>\n\n\n\n<p>Keycloak 24+ removed this file for security reasons.<\/p>\n\n\n\n<p><strong>Temporary admin is not stored in filesystem.<\/strong><\/p>\n\n\n\n<p>Boot sequence:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Start Keycloak<\/li>\n\n\n\n<li>Inject temporary admin into memory<\/li>\n\n\n\n<li>Start admin console<\/li>\n\n\n\n<li>Temporary admin is removed after server stops<\/li>\n<\/ol>\n\n\n\n<p>So this is correct:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat data\/admin-user.json\nNo such file or directory\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 8 \u2014 COMMON ERRORS + FIXES<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">\u274c Error:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Unknown option: --password\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 Fix:<\/h3>\n\n\n\n<p>Use environment variable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export KEYCLOAK_ADMIN_PASSWORD=\"Admin@123\"\n--password:env KEYCLOAK_ADMIN_PASSWORD\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u274c Error:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Missing required subcommand\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 Fix:<\/h3>\n\n\n\n<p>Keycloak 26 requires:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bootstrap-admin user ...\n<\/code><\/pre>\n\n\n\n<p>Not:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bootstrap-admin create ...\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u274c Admin not saved in DB<\/h3>\n\n\n\n<p>\u2714 You forgot to create Permanent Admin<br>\u2714 You used bootstrap-admin only<br>\u2714 bootstrap admin is temporary<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u274c Cannot login after restart<\/h3>\n\n\n\n<p>Because temporary admin is gone.<\/p>\n\n\n\n<p>\u2714 Create permanent admin.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 9 \u2014 FULL COPY\u2013PASTE SCRIPT (PRODUCTION READY)<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/auth.motoshare.in\n\n.\/bin\/kc.sh stop\n\nexport KEYCLOAK_ADMIN_PASSWORD=\"Admin@123\"\n\n.\/bin\/kc.sh bootstrap-admin user --username admin --password:env KEYCLOAK_ADMIN_PASSWORD\n\n.\/bin\/kc.sh start   # or start-dev\n<\/code><\/pre>\n\n\n\n<p>Then login \u2192 create permanent admin.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83d\udd25 PART 10 \u2014 HOW TO PERSIST ADMIN BEFORE FIRST LOGIN (OPTIONAL)<\/h1>\n\n\n\n<p>If you want automatic DB admin creation without UI:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSERT INTO USER_ENTITY (ID, EMAIL, EMAIL_CONSTRAINT, ENABLED, USERNAME, CREATED_TIMESTAMP, REALM_ID, FEDERATION_LINK, SERVICE_ACCOUNT_CLIENT_LINK) \nVALUES ('admin-id-123', 'admin@admin.com', 'admin@admin.com', 1, 'admin', 1735730400000, 'master', NULL, NULL);\n\nINSERT INTO CREDENTIAL (ID, TYPE, USER_ID, REALM_ID, CREATED_DATE, SECRET_DATA, CREDENTIAL_DATA, PRIORITY)\nVALUES (\n  'cred-id-123', \n  'password', \n  'admin-id-123', \n  'master',\n  1735730400000,\n  '{\"value\":\"HASHED_PASSWORD\"}',\n  '{\"hashIterations\":27500}',\n  0\n);\n<\/code><\/pre>\n\n\n\n<p>(Note: You must generate password hash via Keycloak API \u2192 I can provide)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\ud83c\udfaf FINAL SUMMARY<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Task<\/th><th>Command<\/th><\/tr><\/thead><tbody><tr><td>Create temporary admin<\/td><td><code>bootstrap-admin user --username admin --password:env KEYCLOAK_ADMIN_PASSWORD<\/code><\/td><\/tr><tr><td>Set password env<\/td><td><code>export KEYCLOAK_ADMIN_PASSWORD=\"Admin@123\"<\/code><\/td><\/tr><tr><td>Start dev mode<\/td><td><code>kc.sh start-dev<\/code><\/td><\/tr><tr><td>Start prod<\/td><td><code>kc.sh start<\/code><\/td><\/tr><tr><td>Permanent admin<\/td><td>Create via admin console<\/td><\/tr><tr><td>Check admin in DB<\/td><td><code>SELECT USERNAME FROM USER_ENTITY<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><\/h1>\n","protected":false},"excerpt":{"rendered":"<p>Below is a fully comprehensive, step-by-step, production-ready guide for Keycloak 26.3.3 explaining: \u2714 How bootstrap admin works\u2714 Why admin-user.json does [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3779","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING) - DevOps Consulting<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING) - DevOps Consulting\" \/>\n<meta property=\"og:description\" content=\"Below is a fully comprehensive, step-by-step, production-ready guide for Keycloak 26.3.3 explaining: \u2714 How bootstrap admin works\u2714 Why admin-user.json does [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/\" \/>\n<meta property=\"og:site_name\" content=\"DevOps Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-01T13:30:36+00:00\" \/>\n<meta name=\"author\" content=\"Abhishek Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abhishek Singh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/\",\"url\":\"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/\",\"name\":\"KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING) - DevOps Consulting\",\"isPartOf\":{\"@id\":\"https:\/\/www.devopsconsulting.in\/blog\/#website\"},\"datePublished\":\"2025-12-01T13:30:36+00:00\",\"author\":{\"@id\":\"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.devopsconsulting.in\/blog\/#website\",\"url\":\"https:\/\/www.devopsconsulting.in\/blog\/\",\"name\":\"DevOps Consulting\",\"description\":\"DevOps Consulting | SRE Consulting | DevSecOps Consulting | MLOps Consulting\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.devopsconsulting.in\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f\",\"name\":\"Abhishek Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g\",\"caption\":\"Abhishek Singh\"},\"description\":\"I\u2019m Abhishek, a DevOps, SRE, DevSecOps, and Cloud expert with a passion for sharing knowledge and real-world experiences. I\u2019ve had the opportunity to work with Cotocus and continue to contribute to multiple platforms where I share insights across different domains: \u2022 DevOps School \u2013 Tech blogs and tutorials \u2022 Holiday Landmark \u2013 Travel stories and guides \u2022 Stocks Mantra \u2013 Stock market strategies and tips \u2022 My Medic Plus \u2013 Health and fitness guidance \u2022 TrueReviewNow \u2013 Honest product reviews \u2022 Wizbrand \u2013 SEO and digital tools for businesses I\u2019m also exploring the fascinating world of Quantum Computing.\",\"url\":\"https:\/\/www.devopsconsulting.in\/blog\/author\/abhishek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING) - DevOps Consulting","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/","og_locale":"en_US","og_type":"article","og_title":"KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING) - DevOps Consulting","og_description":"Below is a fully comprehensive, step-by-step, production-ready guide for Keycloak 26.3.3 explaining: \u2714 How bootstrap admin works\u2714 Why admin-user.json does [&hellip;]","og_url":"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/","og_site_name":"DevOps Consulting","article_published_time":"2025-12-01T13:30:36+00:00","author":"Abhishek Singh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Abhishek Singh","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/","url":"https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/","name":"KEYCLOAK 26.3.3 \u2013 COMPLETE GUIDE TO BOOTSTRAP ADMIN (WORKING) - DevOps Consulting","isPartOf":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/#website"},"datePublished":"2025-12-01T13:30:36+00:00","author":{"@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.devopsconsulting.in\/blog\/keycloak-26-3-3-complete-guide-to-bootstrap-admin\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.devopsconsulting.in\/blog\/#website","url":"https:\/\/www.devopsconsulting.in\/blog\/","name":"DevOps Consulting","description":"DevOps Consulting | SRE Consulting | DevSecOps Consulting | MLOps Consulting","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.devopsconsulting.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/fc397ba8be42f9fdd53450edfc73006f","name":"Abhishek Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.devopsconsulting.in\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/790feefe779852cdf344ca7318bf6c13832223c9b3c6bf4d217658412041026d?s=96&d=mm&r=g","caption":"Abhishek Singh"},"description":"I\u2019m Abhishek, a DevOps, SRE, DevSecOps, and Cloud expert with a passion for sharing knowledge and real-world experiences. I\u2019ve had the opportunity to work with Cotocus and continue to contribute to multiple platforms where I share insights across different domains: \u2022 DevOps School \u2013 Tech blogs and tutorials \u2022 Holiday Landmark \u2013 Travel stories and guides \u2022 Stocks Mantra \u2013 Stock market strategies and tips \u2022 My Medic Plus \u2013 Health and fitness guidance \u2022 TrueReviewNow \u2013 Honest product reviews \u2022 Wizbrand \u2013 SEO and digital tools for businesses I\u2019m also exploring the fascinating world of Quantum Computing.","url":"https:\/\/www.devopsconsulting.in\/blog\/author\/abhishek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/3779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/comments?post=3779"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/3779\/revisions"}],"predecessor-version":[{"id":3780,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/posts\/3779\/revisions\/3780"}],"wp:attachment":[{"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/media?parent=3779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/categories?post=3779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsconsulting.in\/blog\/wp-json\/wp\/v2\/tags?post=3779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}