blob: 591baded4f32a450555142acb73dd755e89babec [file] [log] [blame]
<!doctype html>
<html lang="en-GB" dir="ltr" class="docs-wrapper docs-doc-page docs-version-v0.17 plugin-docs plugin-id-default docs-doc-id-GettingStarted/HelmSetup">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-rc.1">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache DevLake - Open-Source Dev Data Platform for Productivity RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache DevLake - Open-Source Dev Data Platform for Productivity Atom Feed"><title data-rh="true">Install via Helm | Apache DevLake - Open-Source Dev Data Platform for Productivity</title><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://devlake.apache.org/docs/v0.17/GettingStarted/HelmSetup"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="keywords" content="Engineering Productivity, Open-Source Engineering, Open-Source Integration Tools, Data Integrates Platform, Open-Source Dev Platform, Open-Source Data Integrates, DevOps Tools Integrates, Open-Source DevOps Tools"><meta data-rh="true" name="docusaurus_version" content="v0.17"><meta data-rh="true" name="docusaurus_tag" content="docs-default-v0.17"><meta data-rh="true" name="docsearch:version" content="v0.17"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-v0.17"><meta data-rh="true" property="og:title" content="Install via Helm | Apache DevLake - Open-Source Dev Data Platform for Productivity"><meta data-rh="true" name="description" content="The steps to install Apache DevLake via Helm for Kubernetes
"><meta data-rh="true" property="og:description" content="The steps to install Apache DevLake via Helm for Kubernetes
"><link data-rh="true" rel="icon" href="/img/logo.svg"><link data-rh="true" rel="canonical" href="https://devlake.apache.org/docs/v0.17/GettingStarted/HelmSetup"><link data-rh="true" rel="alternate" href="https://devlake.apache.org/docs/v0.17/GettingStarted/HelmSetup" hreflang="en-GB"><link data-rh="true" rel="alternate" href="https://devlake.apache.org/zh/docs/v0.17/GettingStarted/HelmSetup" hreflang="zh"><link data-rh="true" rel="alternate" href="https://devlake.apache.org/docs/v0.17/GettingStarted/HelmSetup" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.ddc6bf33.css">
<link rel="preload" href="/assets/js/runtime~main.52a968ca.js" as="script">
<link rel="preload" href="/assets/js/main.1575af1c.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_fXgn">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="apache devlake" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/logo.svg" alt="apache devlake" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Apache DevLake</b></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Docs</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/Overview/Introduction">Next</a></li><li><a class="dropdown__link" href="/docs/v1.0/Overview/Introduction">v1.0 (Stable)</a></li><li><a class="dropdown__link" href="/docs/v0.21/Overview/Introduction">v0.21</a></li><li><a class="dropdown__link" href="/docs/v0.20/Overview/Introduction">v0.20</a></li><li><a class="dropdown__link" href="/docs/v0.19/Overview/Introduction">v0.19</a></li><li><a class="dropdown__link" href="/docs/v0.18/Overview/Introduction">v0.18</a></li><li><a class="dropdown__link" href="/docs/v0.17/Overview/Introduction">v0.17</a></li><li><a class="dropdown__link" href="/docs/v0.16/Overview/Introduction">v0.16</a></li><li><a class="dropdown__link" href="/docs/v0.15/Overview/Introduction">v0.15</a></li></ul></div><a class="navbar__item navbar__link" href="/livedemo/EngineeringLeads/DORA">Use Cases</a><a class="navbar__item navbar__link" href="/community/">Community</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/blogOverview">Blog</a><a href="https://github.com/apache/incubator-devlake" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><a class="navbar__item navbar__link" href="/download">Download</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">ASF</a><ul class="dropdown__menu"><li><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Foundation</a></li><li><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="dropdown__link">License</a></li><li><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="dropdown__link">Events</a></li><li><a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Security</a></li><li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Privacy</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsorship</a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks</a></li></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><div class="navbar__search searchBarContainer_NW3z"><input placeholder="Search" aria-label="Search" class="navbar__search-input"><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebar_njMd"><nav class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/Overview">Overview</a><button aria-label="Toggle the collapsible sidebar category &#x27;Overview&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/docs/v0.17/GettingStarted">Getting Started</a><button aria-label="Toggle the collapsible sidebar category &#x27;Getting Started&#x27;" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/v0.17/GettingStarted/DockerComposeSetup">Install via Docker Compose</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/v0.17/GettingStarted/HelmSetup">Install via Helm</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/v0.17/GettingStarted/Upgrade">Upgrade</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/v0.17/GettingStarted/Authentication">Security and Authentication</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/Configuration">Configuration</a><button aria-label="Toggle the collapsible sidebar category &#x27;Configuration&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/v0.17/DORA">DORA</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/Metrics">Metrics</a><button aria-label="Toggle the collapsible sidebar category &#x27;Metrics&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/DataModels">Data Models</a><button aria-label="Toggle the collapsible sidebar category &#x27;Data Models&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/DeveloperManuals">Developer Manuals</a><button aria-label="Toggle the collapsible sidebar category &#x27;Developer Manuals&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/Plugins">Plugins</a><button aria-label="Toggle the collapsible sidebar category &#x27;Plugins&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/v0.17/Troubleshooting">Troubleshooting</a><button aria-label="Toggle the collapsible sidebar category &#x27;Troubleshooting&#x27;" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_OVgt"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/docs/v0.17/GettingStarted"><span itemprop="name">Getting Started</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Install via Helm</span><meta itemprop="position" content="2"></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: v0.17</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Install via Helm</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="prerequisites">Prerequisites<a class="hash-link" href="#prerequisites" title="Direct link to heading"></a></h2><ul><li>Helm &gt;= 3.6.0</li><li>Kubernetes &gt;= 1.19.0</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="quick-start">Quick Start<a class="hash-link" href="#quick-start" title="Direct link to heading"></a></h2><h4 class="anchor anchorWithStickyNavbar_LWe7" id="you-can-also-check-httpsgithubcomapacheincubator-devlake-helm-chart-to-make-contribution">You can also check <a href="https://github.com/apache/incubator-devlake-helm-chart" target="_blank" rel="noopener noreferrer">https://github.com/apache/incubator-devlake-helm-chart</a> to make contribution<a class="hash-link" href="#you-can-also-check-httpsgithubcomapacheincubator-devlake-helm-chart-to-make-contribution" title="Direct link to heading"></a></h4><h3 class="anchor anchorWithStickyNavbar_LWe7" id="install">Install<a class="hash-link" href="#install" title="Direct link to heading"></a></h3><p>To install the chart with release name <code>devlake</code>:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm repo </span><span class="token function" style="color:#d73a49">add</span><span class="token plain"> devlake https://apache.github.io/incubator-devlake-helm-chart</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm repo update</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> devlake devlake/devlake --version</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">0.17</span><span class="token plain">.0</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>And visit your devlake from the node port (32001 by default).</p><p>http://YOUR-NODE-IP:32001</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="tips">Tips:<a class="hash-link" href="#tips" title="Direct link to heading"></a></h4><p>If you are using minikube inside your mac, please use the following command to forward the port:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">kubectl port-forward service/devlake-ui </span><span class="token number" style="color:#36acaa">30090</span><span class="token plain">:4000</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>and open another terminal:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">kubectl port-forward service/devlake-grafana </span><span class="token number" style="color:#36acaa">30091</span><span class="token plain">:3000</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Then you can visit:
config-ui by url <code>http://YOUR-NODE-IP:30090</code>
grafana by url <code>http://YOUR-NODE-IP:30091</code></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="update">Update<a class="hash-link" href="#update" title="Direct link to heading"></a></h3><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm repo update</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm upgrade --install devlake devlake/devlake --version</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">0.17</span><span class="token plain">.0</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="uninstall">Uninstall<a class="hash-link" href="#uninstall" title="Direct link to heading"></a></h3><p>To uninstall/delete the <code>devlake</code> release:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm uninstall devlake</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="some-example-deployments">Some example deployments<a class="hash-link" href="#some-example-deployments" title="Direct link to heading"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-with-nodeport">Deploy with NodePort<a class="hash-link" href="#deploy-with-nodeport" title="Direct link to heading"></a></h3><p>Conditions:</p><ul><li>IP Address of Kubernetes node: 192.168.0.6</li><li>Want to visit devlake with port 30000.</li></ul><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm install devlake devlake/devlake --set service.uiPort=30000</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>After deployed, visit devlake: <a href="http://192.168.0.6:30000" target="_blank" rel="noopener noreferrer">http://192.168.0.6:30000</a></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-with-ingress">Deploy with Ingress<a class="hash-link" href="#deploy-with-ingress" title="Direct link to heading"></a></h3><p>Conditions:</p><ul><li>I have already configured default ingress for the Kubernetes cluster</li><li>I want to use <a href="http://devlake.example.com" target="_blank" rel="noopener noreferrer">http://devlake.example.com</a> for visiting devlake</li></ul><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm install devlake devlake/devlake --set &quot;ingress.enabled=true,ingress.hostname=devlake.example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>After deployed, visit devlake: <a href="http://devlake.example.com" target="_blank" rel="noopener noreferrer">http://devlake.example.com</a>, and grafana at <a href="http://devlake.example.com/grafana" target="_blank" rel="noopener noreferrer">http://devlake.example.com/grafana</a></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-with-ingress-https">Deploy with Ingress (Https)<a class="hash-link" href="#deploy-with-ingress-https" title="Direct link to heading"></a></h3><p>Conditions:</p><ul><li>I have already configured ingress(class: nginx) for the Kubernetes cluster, and the https using 8443 port.</li><li>I want to use <a href="https://devlake-0.example.com:8443" target="_blank" rel="noopener noreferrer">https://devlake-0.example.com:8443</a> for visiting devlake.</li><li>The https certificates are generated by letsencrypt.org, and the certificate and key files: <code>cert.pem</code> and <code>key.pem</code></li></ul><p>First, create the secret:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">kubectl create secret tls ssl-certificate --cert cert.pem --key secret.pem</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Then, deploy the devlake:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm install devlake devlake/devlake \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set &quot;ingress.enabled=true,ingress.enableHttps=true,ingress.hostname=devlake-0.example.com&quot; \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set &quot;ingress.className=nginx,ingress.httpsPort=8443&quot; \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set &quot;ingress.tlsSecretName=ssl-certificate&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>After deployed, visit devlake: <a href="https://devlake-0.example.com:8443" target="_blank" rel="noopener noreferrer">https://devlake-0.example.com:8443</a>, and grafana at <a href="https://devlake-0.example.com:8443/grafana" target="_blank" rel="noopener noreferrer">https://devlake-0.example.com:8443/grafana</a></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="parameters">Parameters<a class="hash-link" href="#parameters" title="Direct link to heading"></a></h2><p>Some useful parameters for the chart, you could also check them in values.yaml</p><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>replicaCount</td><td>Replica Count for devlake, currently not used</td><td>1</td></tr><tr><td>imageTag</td><td>The version tag for all images</td><td>see Values.yaml</td></tr><tr><td>mysql.useExternal</td><td>If use external mysql server, set true</td><td>false</td></tr><tr><td>mysql.externalServer</td><td>External mysql server address</td><td>127.0.0.1</td></tr><tr><td>mysql.externalPort</td><td>External mysql server port</td><td>3306</td></tr><tr><td>mysql.username</td><td>username for mysql</td><td>merico</td></tr><tr><td>mysql.password</td><td>password for mysql</td><td>merico</td></tr><tr><td>mysql.database</td><td>database for mysql</td><td>lake</td></tr><tr><td>mysql.rootPassword</td><td>root password for mysql</td><td>admin</td></tr><tr><td>mysql.storage.class</td><td>storage class for mysql&#x27;s volume</td><td>&quot;&quot;</td></tr><tr><td>mysql.storage.size</td><td>volume size for mysql&#x27;s data</td><td>5Gi</td></tr><tr><td>mysql.image.repository</td><td>repository for mysql&#x27;s image</td><td>mysql</td></tr><tr><td>mysql.image.tag</td><td>image tag for mysql&#x27;s image</td><td>8</td></tr><tr><td>mysql.image.pullPolicy</td><td>pullPolicy for mysql&#x27;s image</td><td>IfNotPresent</td></tr><tr><td>mysql.extraLabels</td><td>extra labels for mysql&#x27;s statefulset</td><td>{}</td></tr><tr><td>mysql.securityContext</td><td>pod security context values</td><td>{}</td></tr><tr><td>mysql.containerSecurityContext</td><td>container security context values</td><td>{}</td></tr><tr><td>grafana.image.repository</td><td>repository for grafana&#x27;s image</td><td>apache/devlake-dashboard</td></tr><tr><td>grafana.image.pullPolicy</td><td>pullPolicy for grafana&#x27;s image</td><td>Always</td></tr><tr><td>grafana.useExternal</td><td>If use external grafana server</td><td>false</td></tr><tr><td>grafana.externalUrl</td><td>external grafana server if use external</td><td>&quot;&quot;</td></tr><tr><td>grafana.extraLabels</td><td>extra labels for grafana&#x27;s statefulset</td><td>{}</td></tr><tr><td>grafana.securityContext</td><td>pod security context values</td><td>{}</td></tr><tr><td>grafana.containerSecurityContext</td><td>container security context values</td><td>{}</td></tr><tr><td>grafana.oauthEnabled</td><td>enable oauth for grafana</td><td>false</td></tr><tr><td>grafana.oauthConfig</td><td>a list of env vars used for oauth</td><td>{}</td></tr><tr><td>lake.storage.class</td><td>storage class for lake&#x27;s volume</td><td>&quot;&quot;</td></tr><tr><td>lake.storage.size</td><td>volume size for lake&#x27;s data</td><td>100Mi</td></tr><tr><td>lake.image.repository</td><td>repository for lake&#x27;s image</td><td>apache/devlake</td></tr><tr><td>lake.image.pullPolicy</td><td>pullPolicy for lake&#x27;s image</td><td>Always</td></tr><tr><td>lake.loggingDir</td><td>log dir for the lake server</td><td>/app/logs</td></tr><tr><td>lake.loggingLevel</td><td>log level for the lake server</td><td>info</td></tr><tr><td>lake.dotenv</td><td>initial configurations for injecting to lake&#x27;s .env</td><td>see Values.yaml</td></tr><tr><td>lake.extraLabels</td><td>extra labels for lake&#x27;s statefulset</td><td>{}</td></tr><tr><td>lake.securityContext</td><td>pod security context values</td><td>{}</td></tr><tr><td>lake.containerSecurityContext</td><td>container security context values</td><td>{}</td></tr><tr><td>ui.image.repository</td><td>repository for ui&#x27;s image</td><td>apache/devlake-config-ui</td></tr><tr><td>ui.image.pullPolicy</td><td>pullPolicy for ui&#x27;s image</td><td>Always</td></tr><tr><td>ui.basicAuth.enabled</td><td>If the basic auth in ui is enabled</td><td>false</td></tr><tr><td>ui.basicAuth.user</td><td>The user name for the basic auth</td><td>&quot;admin&quot;</td></tr><tr><td>ui.basicAuth.password</td><td>The password for the basic auth</td><td>&quot;admin&quot;</td></tr><tr><td>ui.basicAuth.useSecret</td><td>If use secret instead of configmap for basic auth</td><td>false</td></tr><tr><td>ui.basicAuth.autoCreateSecret</td><td>If let the helm chart create the secret</td><td>true</td></tr><tr><td>ui.basicAuth.secretName</td><td>The basic auth secret name</td><td>devlake-auth</td></tr><tr><td>ui.extraLabels</td><td>extra labels for ui&#x27;s statefulset</td><td>{}</td></tr><tr><td>ui.securityContext</td><td>pod security context values</td><td>{}</td></tr><tr><td>ui.containerSecurityContext</td><td>container security context values</td><td>{}</td></tr><tr><td>service.type</td><td>Service type for exposed service</td><td>NodePort</td></tr><tr><td>service.uiPort</td><td>Node port for config ui</td><td>32001</td></tr><tr><td>service.ingress.enabled</td><td>If enable ingress</td><td>false</td></tr><tr><td>service.ingress.enableHttps</td><td>If enable https</td><td>false</td></tr><tr><td>service.ingress.className</td><td>Name for ingressClass. leave empty for using default</td><td>&quot;&quot;</td></tr><tr><td>service.ingress.hostname</td><td>The hostname/domainname for ingress</td><td>localhost</td></tr><tr><td>service.ingress.prefix</td><td>The prefix for endpoints, currently not used</td><td>/</td></tr><tr><td>service.ingress.tlsSecretName</td><td>The secret name for tls&#x27;s certificate for https</td><td>&quot;&quot;</td></tr><tr><td>service.ingress.httpPort</td><td>The http port for ingress</td><td>80</td></tr><tr><td>service.ingress.httpsPort</td><td>The https port for ingress</td><td>443</td></tr><tr><td>option.localtime</td><td>The hostpath for mount as /etc/localtime</td><td>/etc/localtime</td></tr><tr><td>option.database</td><td>The database type, valids: mysql</td><td>mysql</td></tr><tr><td>option.useConnectionDetailsSecret</td><td>If use secret instead of configmap for db connection</td><td>false</td></tr><tr><td>option.connectionSecretName</td><td>The database connection details secret name</td><td>devlake-db-connection</td></tr><tr><td>option.autoCreateSecret</td><td>If let the helm chart create the secret</td><td>true</td></tr><tr><td>awsCognitoAuth.enabled</td><td>use AWS cognito for authentication</td><td>false</td></tr><tr><td>awsCognitoAuth.awsAuthRegion</td><td>aws Cognito auth region</td><td>&quot;&quot;</td></tr><tr><td>awsCognitoAuth.awsAuthUserPoolID</td><td>aws Cognito user pool ID</td><td>&quot;&quot;</td></tr><tr><td>awsCognitoAuth.awsAuthUserPoolWebClientID</td><td>aws Cognito web client ID for the user pool</td><td>&quot;&quot;</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="faq">FAQ<a class="hash-link" href="#faq" title="Direct link to heading"></a></h2><ol><li>Can I use a managed Cloud database service instead of running database in docker?</li></ol><p>Yes, it just set useExternal value to true while you deploy devlake with helm chart. Below we&#x27;ll use MySQL on AWS RDS as an example.</p><p>a. (Optional) Create a MySQL instance on AWS RDS following this <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html" target="_blank" rel="noopener noreferrer">doc</a>, skip this step if you&#x27;d like to use an existing instance
b. Proviede below values while install from helm:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">- `mysql.useExternal`: this should be `true`</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- `mysql.externalServer`: use your RDS instance&#x27;s IP address or domain name.</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- `mysql.externalPort`: use your RDS instance&#x27;s database port.</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- `mysql.username`: use your `username` for access RDS instance&#x27;s DB</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- `mysql.password`: use your `password` for access RDS instance&#x27;s DB</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">- `mysql.database`: use your RDS instance&#x27;s DB name, you may need to create a database first with `CREATE DATABASE &lt;DB name&gt;;`</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Here is the example:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm repo add devlake https://apache.github.io/incubator-devlake-helm-chart</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm repo update</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm install devlake devlake/devlake \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set mysql.useExternal=true \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set mysql.externalServer=db.example.com \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set mysql.externalPort=3306 \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set mysql.username=admin \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set mysql.password=password_4_admin \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set mysql.database=devlake</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><ol start="2"><li>Can I use a secret to store the database connection details?</li></ol><p>Yes, to do so, you need to have a secret in your Kubernetes Cluster that contains the following values:</p><ul><li><code>MYSQL_USER</code>: The user to connect to your DB.</li><li><code>MYSQL_PASSWORD</code>: The password to connect to your DB.</li><li><code>MYSQL_DATABASE</code>: The database to connect to your DB.</li><li><code>MYSQL_ROOT_PASSWORD</code>: The root password to connect to your DB.</li><li><code>DB_URL</code>: mysql://<code>username</code>:<code>password</code>@<code>dbserver</code>:<code>port</code>/<code>database</code>?charset=utf8mb4&amp;parseTime=True</li></ul><p>The secret name needs to be the same as the value <code>option.connectionSecretName</code></p><ol start="3"><li>Can I use an external Grafana instead of running built-in Grafana?</li></ol><p>Yes, the devlake helm chart supports using an external Grafana. You can set the following values while installing from helm:</p><ul><li><code>grafana.useExternal</code>: this should be <code>true</code></li><li><code>grafana.externalUrl</code>: use your Grafana&#x27;s URL, e.g. <code>https://grafana.example.com</code></li></ul><p>Here is the example:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">helm repo add devlake https://apache.github.io/incubator-devlake-helm-chart</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm repo update</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">helm install devlake devlake/devlake \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set grafana.useExternal=true \</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"> --set grafana.externalUrl=https://grafana.example.com</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="troubleshooting">Troubleshooting<a class="hash-link" href="#troubleshooting" title="Direct link to heading"></a></h2><p>If you run into any problem, please check the <a href="/docs/v0.17/Troubleshooting/Installation">Troubleshooting</a> or <a href="https://github.com/apache/incubator-devlake/issues" target="_blank" rel="noopener noreferrer">create an issue</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/incubator-devlake-website/edit/main/versioned_docs/version-v0.17/GettingStarted/HelmSetup.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/v0.17/GettingStarted/DockerComposeSetup"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Install via Docker Compose</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/v0.17/GettingStarted/Upgrade"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Upgrade</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#prerequisites" class="table-of-contents__link toc-highlight">Prerequisites</a></li><li><a href="#quick-start" class="table-of-contents__link toc-highlight">Quick Start</a><ul><li><a href="#install" class="table-of-contents__link toc-highlight">Install</a></li><li><a href="#update" class="table-of-contents__link toc-highlight">Update</a></li><li><a href="#uninstall" class="table-of-contents__link toc-highlight">Uninstall</a></li></ul></li><li><a href="#some-example-deployments" class="table-of-contents__link toc-highlight">Some example deployments</a><ul><li><a href="#deploy-with-nodeport" class="table-of-contents__link toc-highlight">Deploy with NodePort</a></li><li><a href="#deploy-with-ingress" class="table-of-contents__link toc-highlight">Deploy with Ingress</a></li><li><a href="#deploy-with-ingress-https" class="table-of-contents__link toc-highlight">Deploy with Ingress (Https)</a></li></ul></li><li><a href="#parameters" class="table-of-contents__link toc-highlight">Parameters</a></li><li><a href="#faq" class="table-of-contents__link toc-highlight">FAQ</a></li><li><a href="#troubleshooting" class="table-of-contents__link toc-highlight">Troubleshooting</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/GettingStarted">Getting Started</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/DataModels/DevLakeDomainLayerSchema">Data Models</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/Metrics">Engineering Metrics</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://join.slack.com/t/devlake-io/shared_invite/zt-2ox842kuu-_6x3Lwdj88YpzKhMRpgnMg" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack</a></li><li class="footer__item"><a href="https://github.com/apache/incubator-devlake/issues" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub Issue Tracker</a></li><li class="footer__item"><a href="https://github.com/apache/incubator-devlake-website/issues" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub Issue Tracker For Docs</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/apache/incubator-devlake" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://twitter.com/ApacheDevLake" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter</a></li><li class="footer__item"><a class="footer__link-item" href="/community/trademark">Trademark Guidelines</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">
<div style="margin-top: 20px">
<a href="https://incubator.apache.org/" target="_blank"><img style="height:40px; margin-bottom: 10px; margin-top: 10px" alt="Apache Software Foundation" src="/img/apache-incubator.svg"></a>
<p style="text-align:left; font-weight: 300; font-size: 0.8em;">Apache DevLake is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p>
<p style="text-align:left; font-weight: 300; font-size: 0.8em;">Copyright ©2025 Apache DevLake, DevLake, Apache, the Apache feather logo and the Apache DevLake project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>
</div></div></div></footer></div>
<script src="/assets/js/runtime~main.52a968ca.js"></script>
<script src="/assets/js/main.1575af1c.js"></script>
</body>
</html>