[{"data":1,"prerenderedAt":1543},["ShallowReactive",2],{"docs-de-helm-releases\u002Fdeploy-keycloak":3,"docs-navigation-de":1293,"docs-surround-de-helm-releases\u002Fdeploy-keycloak":1536},{"id":4,"title":5,"body":6,"description":1283,"extension":1284,"lastUpdated":1285,"meta":1286,"navigation":1287,"path":1289,"seo":1290,"stem":1291,"__hash__":1292},"docs_de\u002Fde\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak.md","Keycloak deployen",{"type":7,"value":8,"toc":1268},"minimark",[9,13,24,36,41,51,55,58,193,205,209,212,514,518,523,534,538,545,549,555,734,738,749,753,756,1083,1087,1090,1121,1128,1132,1135,1226,1237,1241,1264],[10,11,12],"p",{},"Keycloak ist eine quelloffene Identity- und Access-Management-Lösung. Mit dem lowcloud Helm Release deployst du Keycloak in deinem Kubernetes-Cluster – inklusive eingebetteter PostgreSQL-Datenbank, Ingress-Unterstützung und optionalem Realm-Import.",[10,14,15,19,20],{},[16,17,18],"strong",{},"Chart-Registry:"," ",[21,22,23],"code",{},"oci:\u002F\u002Fregistry-1.docker.io\u002Fcloudpirates\u002Fkeycloak",[10,25,26,27,35],{},"Das Helm Release wird von den ",[28,29,34],"a",{"href":30,"rel":31,"target":33},"https:\u002F\u002Fartifacthub.io\u002Fpackages\u002Fhelm\u002Fcloudpirates-keycloak\u002Fkeycloak",[32],"nofollow","\\_blank","Cloud Pirates"," bereitgestellt und gepflegt.",[37,38,40],"h2",{"id":39},"voraussetzungen","Voraussetzungen",[42,43,44,48],"ul",{},[45,46,47],"li",{},"Ein lowcloud-Account mit aktivem Cluster",[45,49,50],{},"Zugriff auf das lowcloud Dashboard",[37,52,54],{"id":53},"quick-start","Quick Start",[10,56,57],{},"Minimale Konfiguration, um Keycloak schnell zum Laufen zu bringen:",[59,60,65],"pre",{"className":61,"code":62,"language":63,"meta":64,"style":64},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","keycloak:\n  adminUser: admin\n  adminPassword: your-secure-password\n  hostname: https:\u002F\u002Fauth.example.com\n  proxyHeaders: xforwarded\n\npostgres:\n  enabled: true\n  auth:\n    database: keycloak\n    username: keycloak\n    password: your-db-password\n","yaml","",[21,66,67,80,93,104,115,126,133,141,153,161,172,182],{"__ignoreMap":64},[68,69,72,76],"span",{"class":70,"line":71},"line",1,[68,73,75],{"class":74},"swJcz","keycloak",[68,77,79],{"class":78},"sMK4o",":\n",[68,81,83,86,89],{"class":70,"line":82},2,[68,84,85],{"class":74},"  adminUser",[68,87,88],{"class":78},":",[68,90,92],{"class":91},"sfazB"," admin\n",[68,94,96,99,101],{"class":70,"line":95},3,[68,97,98],{"class":74},"  adminPassword",[68,100,88],{"class":78},[68,102,103],{"class":91}," your-secure-password\n",[68,105,107,110,112],{"class":70,"line":106},4,[68,108,109],{"class":74},"  hostname",[68,111,88],{"class":78},[68,113,114],{"class":91}," https:\u002F\u002Fauth.example.com\n",[68,116,118,121,123],{"class":70,"line":117},5,[68,119,120],{"class":74},"  proxyHeaders",[68,122,88],{"class":78},[68,124,125],{"class":91}," xforwarded\n",[68,127,129],{"class":70,"line":128},6,[68,130,132],{"emptyLinePlaceholder":131},true,"\n",[68,134,136,139],{"class":70,"line":135},7,[68,137,138],{"class":74},"postgres",[68,140,79],{"class":78},[68,142,144,147,149],{"class":70,"line":143},8,[68,145,146],{"class":74},"  enabled",[68,148,88],{"class":78},[68,150,152],{"class":151},"sfNiH"," true\n",[68,154,156,159],{"class":70,"line":155},9,[68,157,158],{"class":74},"  auth",[68,160,79],{"class":78},[68,162,164,167,169],{"class":70,"line":163},10,[68,165,166],{"class":74},"    database",[68,168,88],{"class":78},[68,170,171],{"class":91}," keycloak\n",[68,173,175,178,180],{"class":70,"line":174},11,[68,176,177],{"class":74},"    username",[68,179,88],{"class":78},[68,181,171],{"class":91},[68,183,185,188,190],{"class":70,"line":184},12,[68,186,187],{"class":74},"    password",[68,189,88],{"class":78},[68,191,192],{"class":91}," your-db-password\n",[194,195,198],"callout",{"color":196,"icon":197},"warning","i-lucide-triangle-alert",[10,199,200,201,204],{},"Setze ",[21,202,203],{},"keycloak.proxyHeaders: xforwarded",", wenn Keycloak hinter einem nginx-Ingress oder einem anderen Reverse Proxy betrieben wird. Ohne diesen Parameter funktionieren Redirects und Token-Validierungen nicht korrekt.",[37,206,208],{"id":207},"konfiguration","Konfiguration",[10,210,211],{},"Die wichtigsten Konfigurationsoptionen im Überblick:",[213,214,215,231],"table",{},[216,217,218],"thead",{},[219,220,221,225,228],"tr",{},[222,223,224],"th",{},"Parameter",[222,226,227],{},"Beschreibung",[222,229,230],{},"Default",[232,233,234,250,265,282,294,316,335,349,363,377,391,403,418,433,448,463,478,493],"tbody",{},[219,235,236,242,245],{},[237,238,239],"td",{},[21,240,241],{},"image.tag",[237,243,244],{},"Keycloak Image-Version",[237,246,247],{},[21,248,249],{},"26.5.6",[219,251,252,257,260],{},[237,253,254],{},[21,255,256],{},"keycloak.adminUser",[237,258,259],{},"Benutzername des Keycloak-Admins",[237,261,262],{},[21,263,264],{},"admin",[219,266,267,272,279],{},[237,268,269],{},[21,270,271],{},"keycloak.adminPassword",[237,273,274,275,278],{},"Passwort des Admins (oder ",[21,276,277],{},"existingSecret"," nutzen)",[237,280,281],{},"—",[219,283,284,289,292],{},[237,285,286],{},[21,287,288],{},"keycloak.hostname",[237,290,291],{},"Öffentliche URL der Keycloak-Instanz",[237,293,281],{},[219,295,296,301,312],{},[237,297,298],{},[21,299,300],{},"keycloak.proxyHeaders",[237,302,303,304,307,308,311],{},"Proxy-Header-Modus (",[21,305,306],{},"xforwarded"," oder ",[21,309,310],{},"forwarded",")",[237,313,314],{},[21,315,306],{},[219,317,318,323,330],{},[237,319,320],{},[21,321,322],{},"keycloak.production",[237,324,325,326,329],{},"Produktionsmodus (",[21,327,328],{},"start",") oder Dev-Modus",[237,331,332],{},[21,333,334],{},"true",[219,336,337,342,345],{},[237,338,339],{},[21,340,341],{},"database.type",[237,343,344],{},"Datenbanktyp",[237,346,347],{},[21,348,138],{},[219,350,351,356,359],{},[237,352,353],{},[21,354,355],{},"postgres.enabled",[237,357,358],{},"Eingebettete PostgreSQL aktivieren",[237,360,361],{},[21,362,334],{},[219,364,365,370,373],{},[237,366,367],{},[21,368,369],{},"postgres.auth.database",[237,371,372],{},"Datenbankname der eingebetteten PostgreSQL",[237,374,375],{},[21,376,75],{},[219,378,379,384,387],{},[237,380,381],{},[21,382,383],{},"postgres.auth.username",[237,385,386],{},"Benutzername der eingebetteten PostgreSQL",[237,388,389],{},[21,390,75],{},[219,392,393,398,401],{},[237,394,395],{},[21,396,397],{},"postgres.auth.password",[237,399,400],{},"Passwort der eingebetteten PostgreSQL",[237,402,281],{},[219,404,405,410,413],{},[237,406,407],{},[21,408,409],{},"resources.requests.cpu",[237,411,412],{},"CPU-Request",[237,414,415],{},[21,416,417],{},"250m",[219,419,420,425,428],{},[237,421,422],{},[21,423,424],{},"resources.requests.memory",[237,426,427],{},"Memory-Request",[237,429,430],{},[21,431,432],{},"512Mi",[219,434,435,440,443],{},[237,436,437],{},[21,438,439],{},"resources.limits.cpu",[237,441,442],{},"CPU-Limit",[237,444,445],{},[21,446,447],{},"1000m",[219,449,450,455,458],{},[237,451,452],{},[21,453,454],{},"resources.limits.memory",[237,456,457],{},"Memory-Limit",[237,459,460],{},[21,461,462],{},"1024Mi",[219,464,465,470,473],{},[237,466,467],{},[21,468,469],{},"ingress.enabled",[237,471,472],{},"Ingress aktivieren",[237,474,475],{},[21,476,477],{},"false",[219,479,480,485,491],{},[237,481,482],{},[21,483,484],{},"ingress.className",[237,486,487,488,311],{},"Ingress-Klasse (z.B. ",[21,489,490],{},"nginx",[237,492,281],{},[219,494,495,500,510],{},[237,496,497],{},[21,498,499],{},"cache.stack",[237,501,502,503,307,506,509],{},"Cache-Modus (",[21,504,505],{},"local",[21,507,508],{},"ispn"," für Multi-Replica)",[237,511,512],{},[21,513,505],{},[37,515,517],{"id":516},"schritt-für-schritt-anleitung","Schritt-für-Schritt Anleitung",[519,520,522],"h3",{"id":521},"_1-service-hinzufügen","1. Service hinzufügen",[10,524,525,526,529,530,533],{},"Navigiere im lowcloud Dashboard zu ",[16,527,528],{},"Add Service"," und wähle ",[16,531,532],{},"Helm Release"," aus. Suche im Popup nach der Keycloak-Registry:",[10,535,536],{},[21,537,23],{},[10,539,540,541,544],{},"Wähle anschließend die gewünschte Version aus. Die Option ",[16,542,543],{},"\"latest\""," ist in den meisten Fällen eine gute Wahl.",[519,546,548],{"id":547},"_2-values-konfigurieren","2. Values konfigurieren",[10,550,551,552,554],{},"Gib dem Service einen aussagekräftigen Namen (z.B. ",[21,553,75],{},"). Passe dann die Values an:",[59,556,558],{"className":61,"code":557,"language":63,"meta":64,"style":64},"keycloak:\n  adminUser: admin\n  adminPassword: your-secure-password\n  hostname: https:\u002F\u002Fauth.example.com\n  proxyHeaders: xforwarded\n\npostgres:\n  enabled: true\n  auth:\n    database: keycloak\n    username: keycloak\n    password: your-db-password\n\ningress:\n  enabled: true\n  className: nginx\n  hosts:\n    - host: auth.example.com\n      paths:\n        - path: \u002F\n          pathType: Prefix\n",[21,559,560,566,574,582,590,598,602,608,616,622,630,638,646,651,659,668,679,687,701,709,723],{"__ignoreMap":64},[68,561,562,564],{"class":70,"line":71},[68,563,75],{"class":74},[68,565,79],{"class":78},[68,567,568,570,572],{"class":70,"line":82},[68,569,85],{"class":74},[68,571,88],{"class":78},[68,573,92],{"class":91},[68,575,576,578,580],{"class":70,"line":95},[68,577,98],{"class":74},[68,579,88],{"class":78},[68,581,103],{"class":91},[68,583,584,586,588],{"class":70,"line":106},[68,585,109],{"class":74},[68,587,88],{"class":78},[68,589,114],{"class":91},[68,591,592,594,596],{"class":70,"line":117},[68,593,120],{"class":74},[68,595,88],{"class":78},[68,597,125],{"class":91},[68,599,600],{"class":70,"line":128},[68,601,132],{"emptyLinePlaceholder":131},[68,603,604,606],{"class":70,"line":135},[68,605,138],{"class":74},[68,607,79],{"class":78},[68,609,610,612,614],{"class":70,"line":143},[68,611,146],{"class":74},[68,613,88],{"class":78},[68,615,152],{"class":151},[68,617,618,620],{"class":70,"line":155},[68,619,158],{"class":74},[68,621,79],{"class":78},[68,623,624,626,628],{"class":70,"line":163},[68,625,166],{"class":74},[68,627,88],{"class":78},[68,629,171],{"class":91},[68,631,632,634,636],{"class":70,"line":174},[68,633,177],{"class":74},[68,635,88],{"class":78},[68,637,171],{"class":91},[68,639,640,642,644],{"class":70,"line":184},[68,641,187],{"class":74},[68,643,88],{"class":78},[68,645,192],{"class":91},[68,647,649],{"class":70,"line":648},13,[68,650,132],{"emptyLinePlaceholder":131},[68,652,654,657],{"class":70,"line":653},14,[68,655,656],{"class":74},"ingress",[68,658,79],{"class":78},[68,660,662,664,666],{"class":70,"line":661},15,[68,663,146],{"class":74},[68,665,88],{"class":78},[68,667,152],{"class":151},[68,669,671,674,676],{"class":70,"line":670},16,[68,672,673],{"class":74},"  className",[68,675,88],{"class":78},[68,677,678],{"class":91}," nginx\n",[68,680,682,685],{"class":70,"line":681},17,[68,683,684],{"class":74},"  hosts",[68,686,79],{"class":78},[68,688,690,693,696,698],{"class":70,"line":689},18,[68,691,692],{"class":78},"    -",[68,694,695],{"class":74}," host",[68,697,88],{"class":78},[68,699,700],{"class":91}," auth.example.com\n",[68,702,704,707],{"class":70,"line":703},19,[68,705,706],{"class":74},"      paths",[68,708,79],{"class":78},[68,710,712,715,718,720],{"class":70,"line":711},20,[68,713,714],{"class":78},"        -",[68,716,717],{"class":74}," path",[68,719,88],{"class":78},[68,721,722],{"class":91}," \u002F\n",[68,724,726,729,731],{"class":70,"line":725},21,[68,727,728],{"class":74},"          pathType",[68,730,88],{"class":78},[68,732,733],{"class":91}," Prefix\n",[519,735,737],{"id":736},"_3-deployment-starten","3. Deployment starten",[10,739,740,741,744,745,748],{},"Öffne den erstellten Service und klicke auf ",[16,742,743],{},"Deploy",". Warte, bis das Label im Dashboard auf ",[16,746,747],{},"\"Deployed\""," wechselt. Keycloak ist anschließend über die konfigurierte Hostname-URL erreichbar.",[37,750,752],{"id":751},"erweiterte-values","Erweiterte Values",[10,754,755],{},"Für den produktiven Einsatz empfiehlt sich eine vollständige Konfiguration mit Persistence, Resource Limits und TLS:",[59,757,759],{"className":61,"code":758,"language":63,"meta":64,"style":64},"image:\n  tag: \"26.5.6\"\n\nkeycloak:\n  adminUser: admin\n  adminPassword: your-secure-password\n  hostname: https:\u002F\u002Fauth.example.com\n  proxyHeaders: xforwarded\n  production: true\n\ndatabase:\n  type: postgres\n\npostgres:\n  enabled: true\n  auth:\n    database: keycloak\n    username: keycloak\n    password: your-db-password\n\ningress:\n  enabled: true\n  className: nginx\n  hosts:\n    - host: auth.example.com\n      paths:\n        - path: \u002F\n          pathType: Prefix\n  tls:\n    - secretName: auth-tls\n      hosts:\n        - auth.example.com\n\nresources:\n  requests:\n    cpu: 250m\n    memory: 512Mi\n  limits:\n    cpu: 1000m\n    memory: 1024Mi\n",[21,760,761,768,783,787,793,801,809,817,825,834,838,845,855,859,865,873,879,887,895,903,907,913,922,931,938,949,956,967,976,984,997,1005,1012,1017,1025,1033,1044,1055,1063,1073],{"__ignoreMap":64},[68,762,763,766],{"class":70,"line":71},[68,764,765],{"class":74},"image",[68,767,79],{"class":78},[68,769,770,773,775,778,780],{"class":70,"line":82},[68,771,772],{"class":74},"  tag",[68,774,88],{"class":78},[68,776,777],{"class":78}," \"",[68,779,249],{"class":91},[68,781,782],{"class":78},"\"\n",[68,784,785],{"class":70,"line":95},[68,786,132],{"emptyLinePlaceholder":131},[68,788,789,791],{"class":70,"line":106},[68,790,75],{"class":74},[68,792,79],{"class":78},[68,794,795,797,799],{"class":70,"line":117},[68,796,85],{"class":74},[68,798,88],{"class":78},[68,800,92],{"class":91},[68,802,803,805,807],{"class":70,"line":128},[68,804,98],{"class":74},[68,806,88],{"class":78},[68,808,103],{"class":91},[68,810,811,813,815],{"class":70,"line":135},[68,812,109],{"class":74},[68,814,88],{"class":78},[68,816,114],{"class":91},[68,818,819,821,823],{"class":70,"line":143},[68,820,120],{"class":74},[68,822,88],{"class":78},[68,824,125],{"class":91},[68,826,827,830,832],{"class":70,"line":155},[68,828,829],{"class":74},"  production",[68,831,88],{"class":78},[68,833,152],{"class":151},[68,835,836],{"class":70,"line":163},[68,837,132],{"emptyLinePlaceholder":131},[68,839,840,843],{"class":70,"line":174},[68,841,842],{"class":74},"database",[68,844,79],{"class":78},[68,846,847,850,852],{"class":70,"line":184},[68,848,849],{"class":74},"  type",[68,851,88],{"class":78},[68,853,854],{"class":91}," postgres\n",[68,856,857],{"class":70,"line":648},[68,858,132],{"emptyLinePlaceholder":131},[68,860,861,863],{"class":70,"line":653},[68,862,138],{"class":74},[68,864,79],{"class":78},[68,866,867,869,871],{"class":70,"line":661},[68,868,146],{"class":74},[68,870,88],{"class":78},[68,872,152],{"class":151},[68,874,875,877],{"class":70,"line":670},[68,876,158],{"class":74},[68,878,79],{"class":78},[68,880,881,883,885],{"class":70,"line":681},[68,882,166],{"class":74},[68,884,88],{"class":78},[68,886,171],{"class":91},[68,888,889,891,893],{"class":70,"line":689},[68,890,177],{"class":74},[68,892,88],{"class":78},[68,894,171],{"class":91},[68,896,897,899,901],{"class":70,"line":703},[68,898,187],{"class":74},[68,900,88],{"class":78},[68,902,192],{"class":91},[68,904,905],{"class":70,"line":711},[68,906,132],{"emptyLinePlaceholder":131},[68,908,909,911],{"class":70,"line":725},[68,910,656],{"class":74},[68,912,79],{"class":78},[68,914,916,918,920],{"class":70,"line":915},22,[68,917,146],{"class":74},[68,919,88],{"class":78},[68,921,152],{"class":151},[68,923,925,927,929],{"class":70,"line":924},23,[68,926,673],{"class":74},[68,928,88],{"class":78},[68,930,678],{"class":91},[68,932,934,936],{"class":70,"line":933},24,[68,935,684],{"class":74},[68,937,79],{"class":78},[68,939,941,943,945,947],{"class":70,"line":940},25,[68,942,692],{"class":78},[68,944,695],{"class":74},[68,946,88],{"class":78},[68,948,700],{"class":91},[68,950,952,954],{"class":70,"line":951},26,[68,953,706],{"class":74},[68,955,79],{"class":78},[68,957,959,961,963,965],{"class":70,"line":958},27,[68,960,714],{"class":78},[68,962,717],{"class":74},[68,964,88],{"class":78},[68,966,722],{"class":91},[68,968,970,972,974],{"class":70,"line":969},28,[68,971,728],{"class":74},[68,973,88],{"class":78},[68,975,733],{"class":91},[68,977,979,982],{"class":70,"line":978},29,[68,980,981],{"class":74},"  tls",[68,983,79],{"class":78},[68,985,987,989,992,994],{"class":70,"line":986},30,[68,988,692],{"class":78},[68,990,991],{"class":74}," secretName",[68,993,88],{"class":78},[68,995,996],{"class":91}," auth-tls\n",[68,998,1000,1003],{"class":70,"line":999},31,[68,1001,1002],{"class":74},"      hosts",[68,1004,79],{"class":78},[68,1006,1008,1010],{"class":70,"line":1007},32,[68,1009,714],{"class":78},[68,1011,700],{"class":91},[68,1013,1015],{"class":70,"line":1014},33,[68,1016,132],{"emptyLinePlaceholder":131},[68,1018,1020,1023],{"class":70,"line":1019},34,[68,1021,1022],{"class":74},"resources",[68,1024,79],{"class":78},[68,1026,1028,1031],{"class":70,"line":1027},35,[68,1029,1030],{"class":74},"  requests",[68,1032,79],{"class":78},[68,1034,1036,1039,1041],{"class":70,"line":1035},36,[68,1037,1038],{"class":74},"    cpu",[68,1040,88],{"class":78},[68,1042,1043],{"class":91}," 250m\n",[68,1045,1047,1050,1052],{"class":70,"line":1046},37,[68,1048,1049],{"class":74},"    memory",[68,1051,88],{"class":78},[68,1053,1054],{"class":91}," 512Mi\n",[68,1056,1058,1061],{"class":70,"line":1057},38,[68,1059,1060],{"class":74},"  limits",[68,1062,79],{"class":78},[68,1064,1066,1068,1070],{"class":70,"line":1065},39,[68,1067,1038],{"class":74},[68,1069,88],{"class":78},[68,1071,1072],{"class":91}," 1000m\n",[68,1074,1076,1078,1080],{"class":70,"line":1075},40,[68,1077,1049],{"class":74},[68,1079,88],{"class":78},[68,1081,1082],{"class":91}," 1024Mi\n",[519,1084,1086],{"id":1085},"realm-import","Realm-Import",[10,1088,1089],{},"Du kannst beim Start automatisch einen Realm importieren. Hinterlege deine Realm-Konfiguration als Kubernetes Secret und referenziere sie:",[59,1091,1093],{"className":61,"code":1092,"language":63,"meta":64,"style":64},"realm:\n  import: true\n  existingSecret: my-realm-secret\n",[21,1094,1095,1102,1111],{"__ignoreMap":64},[68,1096,1097,1100],{"class":70,"line":71},[68,1098,1099],{"class":74},"realm",[68,1101,79],{"class":78},[68,1103,1104,1107,1109],{"class":70,"line":82},[68,1105,1106],{"class":74},"  import",[68,1108,88],{"class":78},[68,1110,152],{"class":151},[68,1112,1113,1116,1118],{"class":70,"line":95},[68,1114,1115],{"class":74},"  existingSecret",[68,1117,88],{"class":78},[68,1119,1120],{"class":91}," my-realm-secret\n",[10,1122,1123,1124,1127],{},"Das Secret muss einen Key ",[21,1125,1126],{},"realm.json"," mit dem Realm-JSON-Inhalt enthalten.",[519,1129,1131],{"id":1130},"externe-datenbank","Externe Datenbank",[10,1133,1134],{},"Falls du eine bereits vorhandene PostgreSQL-Instanz nutzen möchtest, deaktiviere die eingebettete Datenbank und konfiguriere die externe Verbindung:",[59,1136,1138],{"className":61,"code":1137,"language":63,"meta":64,"style":64},"postgres:\n  enabled: false\n\ndatabase:\n  type: postgres\n  host: my-postgres-service\n  port: '5432'\n  name: keycloak\n  username: keycloak\n  password: your-db-password\n",[21,1139,1140,1146,1155,1159,1165,1173,1183,1199,1208,1217],{"__ignoreMap":64},[68,1141,1142,1144],{"class":70,"line":71},[68,1143,138],{"class":74},[68,1145,79],{"class":78},[68,1147,1148,1150,1152],{"class":70,"line":82},[68,1149,146],{"class":74},[68,1151,88],{"class":78},[68,1153,1154],{"class":151}," false\n",[68,1156,1157],{"class":70,"line":95},[68,1158,132],{"emptyLinePlaceholder":131},[68,1160,1161,1163],{"class":70,"line":106},[68,1162,842],{"class":74},[68,1164,79],{"class":78},[68,1166,1167,1169,1171],{"class":70,"line":117},[68,1168,849],{"class":74},[68,1170,88],{"class":78},[68,1172,854],{"class":91},[68,1174,1175,1178,1180],{"class":70,"line":128},[68,1176,1177],{"class":74},"  host",[68,1179,88],{"class":78},[68,1181,1182],{"class":91}," my-postgres-service\n",[68,1184,1185,1188,1190,1193,1196],{"class":70,"line":135},[68,1186,1187],{"class":74},"  port",[68,1189,88],{"class":78},[68,1191,1192],{"class":78}," '",[68,1194,1195],{"class":91},"5432",[68,1197,1198],{"class":78},"'\n",[68,1200,1201,1204,1206],{"class":70,"line":143},[68,1202,1203],{"class":74},"  name",[68,1205,88],{"class":78},[68,1207,171],{"class":91},[68,1209,1210,1213,1215],{"class":70,"line":155},[68,1211,1212],{"class":74},"  username",[68,1214,88],{"class":78},[68,1216,171],{"class":91},[68,1218,1219,1222,1224],{"class":70,"line":163},[68,1220,1221],{"class":74},"  password",[68,1223,88],{"class":78},[68,1225,192],{"class":91},[194,1227,1230],{"color":1228,"icon":1229},"info","i-lucide-link",[10,1231,1232,1233,1236],{},"Wenn du eine externe PostgreSQL-Instanz aus einem anderen Helm Release verwendest, verbinde die beiden Services über ",[16,1234,1235],{},"Helm Release Dependencies"," im lowcloud Dashboard.",[37,1238,1240],{"id":1239},"weiterführende-links","Weiterführende Links",[42,1242,1243,1250,1257],{},[45,1244,1245],{},[28,1246,1249],{"href":1247,"rel":1248,"target":33},"https:\u002F\u002Fartifacthub.io\u002Fpackages\u002Fhelm\u002Fcloudpirates\u002Fkeycloak",[32],"Keycloak Chart auf ArtifactHub",[45,1251,1252],{},[28,1253,1256],{"href":1254,"rel":1255,"target":33},"https:\u002F\u002Fgithub.com\u002FCloudPirates-io\u002Fhelm-charts\u002Ftree\u002Fmain\u002Fcharts\u002Fkeycloak",[32],"Keycloak Helm Chart auf GitHub",[45,1258,1259],{},[28,1260,1263],{"href":1261,"rel":1262,"target":33},"https:\u002F\u002Fwww.keycloak.org\u002Fdocumentation",[32],"Keycloak Dokumentation",[1265,1266,1267],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":64,"searchDepth":82,"depth":82,"links":1269},[1270,1271,1272,1273,1278,1282],{"id":39,"depth":82,"text":40},{"id":53,"depth":82,"text":54},{"id":207,"depth":82,"text":208},{"id":516,"depth":82,"text":517,"children":1274},[1275,1276,1277],{"id":521,"depth":95,"text":522},{"id":547,"depth":95,"text":548},{"id":736,"depth":95,"text":737},{"id":751,"depth":82,"text":752,"children":1279},[1280,1281],{"id":1085,"depth":95,"text":1086},{"id":1130,"depth":95,"text":1131},{"id":1239,"depth":82,"text":1240},"Lerne, wie du Keycloak als Helm Release über lowcloud deployst – inklusive Datenbankanbindung, Ingress-Konfiguration und Realm-Import.","md","2026-04-08",{},{"icon":1288},"i-lucide-shield-check","\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak",{"title":5,"description":1283},"de\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","4BoJWdUteu8unPFjCzJewRmfQ8zka-KHTdAPZqi9rLQ",[1294,1313,1325,1466,1493,1529],{"title":1295,"path":1296,"stem":1297,"children":1298,"icon":1312},"Getting Started","\u002Fde\u002Fhosting\u002Fdocs\u002Fgetting-started","de\u002F1.docs\u002F1.getting-started\u002F1.index",[1299,1302,1307],{"title":1300,"path":1296,"stem":1297,"icon":1301,"children":-1},"Einführung","i-lucide-house",{"title":1303,"path":1304,"stem":1305,"icon":1306,"children":-1},"Erste Schritte","\u002Fde\u002Fhosting\u002Fdocs\u002Fgetting-started\u002Fget-started","de\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":1308,"path":1309,"stem":1310,"icon":1311,"children":-1},"Funktionsweise","\u002Fde\u002Fhosting\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","de\u002F1.docs\u002F1.getting-started\u002F3.how-it-works","i-lucide-lightbulb",false,{"title":1314,"path":1315,"stem":1316,"children":1317,"icon":1312},"Guides","\u002Fde\u002Fhosting\u002Fdocs\u002Fguides","de\u002F1.docs\u002F2.guides\u002F1.index",[1318,1320],{"title":1314,"path":1315,"stem":1316,"icon":1319,"children":-1},"i-lucide-book-open",{"title":1321,"path":1322,"stem":1323,"icon":1324,"children":-1},"Container Registry verbinden","\u002Fde\u002Fhosting\u002Fdocs\u002Fguides\u002Fcontainer-registries","de\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":1326,"icon":1312,"path":1327,"stem":1328,"children":1329,"page":1312},"Platform","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform","de\u002F1.docs\u002F2.platform",[1330,1351,1417,1456],{"title":1300,"path":1331,"stem":1332,"children":1333,"icon":1312},"\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction","de\u002F1.docs\u002F2.platform\u002F1.introduction\u002F1.index",[1334,1337,1342,1347],{"title":1335,"path":1331,"stem":1332,"icon":1336,"children":-1},"Überblick","i-lucide-cloud",{"title":1338,"path":1339,"stem":1340,"icon":1341,"children":-1},"Anwendungsfälle","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhen-to-use","de\u002F1.docs\u002F2.platform\u002F1.introduction\u002F2.when-to-use","i-lucide-compass",{"title":1343,"path":1344,"stem":1345,"icon":1346,"children":-1},"Features","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhat-you-get","de\u002F1.docs\u002F2.platform\u002F1.introduction\u002F3.what-you-get","i-lucide-package-check",{"title":1348,"path":1349,"stem":1350,"icon":1306,"children":-1},"Get Started","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fget-started","de\u002F1.docs\u002F2.platform\u002F1.introduction\u002F4.get-started",{"title":1352,"path":1353,"stem":1354,"children":1355,"icon":1312},"Web Services","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F01.index",[1356,1359,1364,1368,1372,1377,1382,1387,1392,1397,1402,1407,1412],{"title":1357,"path":1353,"stem":1354,"icon":1358,"children":-1},"Quellen","i-lucide-app-window",{"title":1360,"path":1361,"stem":1362,"icon":1363,"children":-1},"Build-Strategien","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbuild-strategies","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F02.build-strategies","i-lucide-hammer",{"title":208,"path":1365,"stem":1366,"icon":1367,"children":-1},"\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F03.configuration","i-lucide-settings",{"title":1369,"path":1370,"stem":1371,"icon":1306,"children":-1},"Deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdeploying","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F04.deploying",{"title":1373,"path":1374,"stem":1375,"icon":1376,"children":-1},"Skalierung","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fscaling","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F05.scaling","i-lucide-scaling",{"title":1378,"path":1379,"stem":1380,"icon":1381,"children":-1},"Domains","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdomains","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F06.domains","i-lucide-globe",{"title":1383,"path":1384,"stem":1385,"icon":1386,"children":-1},"Service Networking","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconnecting-services","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F07.connecting-services","i-lucide-network",{"title":1388,"path":1389,"stem":1390,"icon":1391,"children":-1},"Env Variables","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fenvironment-variables","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F08.environment-variables","i-lucide-key-round",{"title":1393,"path":1394,"stem":1395,"icon":1396,"children":-1},"Storage","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fpersistent-storage","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F09.persistent-storage","i-lucide-hard-drive",{"title":1398,"path":1399,"stem":1400,"icon":1401,"children":-1},"Defaults","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Flimits","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F10.limits","i-lucide-gauge",{"title":1403,"path":1404,"stem":1405,"icon":1406,"children":-1},"Abrechnung","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbilling","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F11.billing","i-lucide-credit-card",{"title":1408,"path":1409,"stem":1410,"icon":1411,"children":-1},"Shell","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fshell","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F12.shell","i-lucide-square-terminal",{"title":1413,"path":1414,"stem":1415,"icon":1416,"children":-1},"Drop a Site","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdrop","de\u002F1.docs\u002F2.platform\u002F2.web-services\u002F13.drop","i-lucide-upload",{"title":1418,"path":1419,"stem":1420,"children":1421,"icon":1312},"Datenbanken","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F1.index",[1422,1425,1430,1435,1440,1443,1448,1453],{"title":1423,"path":1419,"stem":1420,"icon":1424,"children":-1},"Templates","i-lucide-database",{"title":1426,"path":1427,"stem":1428,"icon":1429,"children":-1},"Erstellen","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fcreate","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F2.create","i-lucide-plus",{"title":1431,"path":1432,"stem":1433,"icon":1434,"children":-1},"Verbinden","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fconnect","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F3.connect","i-lucide-plug",{"title":1436,"path":1437,"stem":1438,"icon":1439,"children":-1},"Public Access","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fpublic-access","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F4.public-access","i-lucide-radio-tower",{"title":1393,"path":1441,"stem":1442,"icon":1396,"children":-1},"\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fstorage","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F5.storage",{"title":1444,"path":1445,"stem":1446,"icon":1447,"children":-1},"Verwaltung","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fmanagement","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F6.management","i-lucide-sliders-horizontal",{"title":1449,"path":1450,"stem":1451,"icon":1452,"children":-1},"Betrieb","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Foperational-notes","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F7.operational-notes","i-lucide-clipboard-list",{"title":1403,"path":1454,"stem":1455,"icon":1406,"children":-1},"\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fbilling","de\u002F1.docs\u002F2.platform\u002F3.databases\u002F8.billing",{"title":1314,"path":1457,"stem":1458,"children":1459,"icon":1312},"\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fguides","de\u002F1.docs\u002F2.platform\u002F4.guides\u002F1.index",[1460,1461],{"title":1314,"path":1457,"stem":1458,"icon":1319,"children":-1},{"title":1462,"path":1463,"stem":1464,"icon":1465,"children":-1},"Hermes Agent","\u002Fde\u002Fhosting\u002Fdocs\u002Fplatform\u002Fguides\u002Fsetup-hermes-agent","de\u002F1.docs\u002F2.platform\u002F4.guides\u002F2.setup-hermes-agent","i-lucide-bot",{"title":1467,"path":1468,"stem":1469,"children":1470,"icon":1312},"App Services","\u002Fde\u002Fhosting\u002Fdocs\u002Fapp-services","de\u002F1.docs\u002F3.app-services\u002F1.index",[1471,1472,1476,1480,1484,1489],{"title":1467,"path":1468,"stem":1469,"icon":1306,"children":-1},{"title":1473,"path":1474,"stem":1475,"icon":1367,"children":-1},"Build Settings","\u002Fde\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fbuild-settings","de\u002F1.docs\u002F3.app-services\u002F2.build-settings",{"title":1388,"path":1477,"stem":1478,"icon":1479,"children":-1},"\u002Fde\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","de\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":1481,"path":1482,"stem":1483,"icon":1381,"children":-1},"Custom Domains","\u002Fde\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fcustom-domains","de\u002F1.docs\u002F3.app-services\u002F4.custom-domains",{"title":1485,"path":1486,"stem":1487,"icon":1488,"children":-1},"Health Checks","\u002Fde\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fhealth-checks","de\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":1490,"path":1491,"stem":1492,"icon":1376,"children":-1},"Autoscaling","\u002Fde\u002Fhosting\u002Fdocs\u002Fapp-services\u002Fautoscaling","de\u002F1.docs\u002F3.app-services\u002F6.autoscaling",{"title":1494,"path":1495,"stem":1496,"children":1497,"icon":1312},"Helm Releases","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases","de\u002F1.docs\u002F4.helm-releases\u002F1.index",[1498,1500,1504,1509,1513,1518,1522,1527],{"title":1494,"path":1495,"stem":1496,"icon":1499,"children":-1},"i-lucide-package",{"title":1501,"path":1502,"stem":1503,"icon":1424,"children":-1},"PostgreSQL deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","de\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql",{"title":1505,"path":1506,"stem":1507,"icon":1508,"children":-1},"Redis deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","de\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":1510,"path":1511,"stem":1512,"icon":1508,"children":-1},"Valkey deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","de\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":1514,"path":1515,"stem":1516,"icon":1517,"children":-1},"n8n deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","de\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":1519,"path":1520,"stem":1521,"icon":1396,"children":-1},"RustFS deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","de\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs",{"title":1523,"path":1524,"stem":1525,"icon":1526,"children":-1},"OpenSearch deployen","\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","de\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":5,"path":1528,"stem":1291,"icon":1288,"children":-1},"\u002Fde\u002Fhosting\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak",{"title":1530,"path":1531,"stem":1532,"children":1533,"icon":1312},"Glossar","\u002Fde\u002Fhosting\u002Fdocs\u002Fglossary","de\u002F1.docs\u002F5.glossary\u002F1.index",[1534],{"title":1530,"path":1531,"stem":1532,"icon":1535,"children":-1},"i-lucide-book-a",[1537,1540],{"title":1523,"path":1538,"stem":1525,"description":1539,"icon":1526,"children":-1},"\u002Fde\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","Lerne, wie du OpenSearch als Such- und Analytics-Engine über lowcloud in deinem Kubernetes-Cluster deployst.",{"title":1530,"path":1541,"stem":1532,"description":1542,"icon":1535,"children":-1},"\u002Fde\u002Fdocs\u002Fglossary","Die wichtigsten Begriffe aus den Bereichen Cloud, Kubernetes und DevOps verständlich erklärt.",1791184620523]