blob: 37266c6d3ba4d0f9f8d26999ab69c36a19fc6f44 [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-6.0.0 docs-doc-page docs-doc-id-installation/docker-builds" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.8.1">
<title data-rh="true">Docker Builds | Superset</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://superset.apache.org/docs/6.0.0/installation/docker-builds"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="6.0.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-6.0.0"><meta data-rh="true" name="docsearch:version" content="6.0.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-6.0.0"><meta data-rh="true" property="og:title" content="Docker Builds | Superset"><meta data-rh="true" name="description" content="The Apache Superset community extensively uses Docker for development, release,"><meta data-rh="true" property="og:description" content="The Apache Superset community extensively uses Docker for development, release,"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://superset.apache.org/docs/6.0.0/installation/docker-builds"><link data-rh="true" rel="alternate" href="https://superset.apache.org/docs/6.0.0/installation/docker-builds" hreflang="en"><link data-rh="true" rel="alternate" href="https://superset.apache.org/docs/6.0.0/installation/docker-builds" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://WR5FASX5ED-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Docker Builds","item":"https://superset.apache.org/docs/6.0.0/installation/docker-builds"}]}</script><link rel="search" type="application/opensearchdescription+xml" title="Superset" href="/opensearch.xml">
<script src="https://widget.kapa.ai/kapa-widget.bundle.js" async data-website-id="c6a8a8b8-3127-48f9-97a7-51e9e10d20d0" data-project-name="Apache Superset" data-project-color="#FFFFFF" data-project-logo="https://images.seeklogo.com/logo-png/50/2/superset-icon-logo-png_seeklogo-500354.png" data-modal-override-open-id="ask-ai-input" data-modal-override-open-class="search-input" data-modal-disclaimer="This is a custom LLM for Apache Superset with access to all [documentation](superset.apache.org/docs/intro/), [GitHub Open Issues, PRs and READMEs](github.com/apache/superset).&amp;#10;&amp;#10;Companies deploy assistants like this ([built by kapa.ai](https://kapa.ai)) on docs via [website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, Reddit), in [support forms](https://docs.kapa.ai/integrations/support-form-deflector) for ticket deflection (Monday.com, Mapbox), or as [Slack bots](https://docs.kapa.ai/integrations/slack-bot) with private sources." data-modal-example-questions="How do I install Superset?,How can I contribute to Superset?" data-button-text-color="rgb(81,166,197)" data-modal-header-bg-color="#ffffff" data-modal-title-color="rgb(81,166,197)" data-modal-title="Apache Superset AI" data-modal-disclaimer-text-color="#000000" data-consent-required="true" data-consent-screen-disclaimer="By clicking &quot;I agree, let&#39;s chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai&#39;s [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google&#39;s [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai&#39;s and Google&#39;s privacy policies."></script><link rel="stylesheet" href="/assets/css/styles.f7e4fcdd.css">
<script src="/assets/js/runtime~main.def2008e.js" defer="defer"></script>
<script src="/assets/js/main.660556cc.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><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/superset-logo-horiz.svg" alt="Superset Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/superset-logo-horiz-dark.svg" alt="Superset Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Documentation</a><ul class="dropdown__menu"><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/docs/6.0.0/intro">Getting Started</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/docs/6.0.0/faq">FAQ</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/community">Community Resources</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/community">Resources</a></li><li><a href="https://github.com/apache/superset" target="_blank" rel="noopener noreferrer" class="dropdown__link">GitHub<svg width="12" height="12" aria-hidden="true" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li><a href="http://bit.ly/join-superset-slack" target="_blank" rel="noopener noreferrer" class="dropdown__link">Slack<svg width="12" height="12" aria-hidden="true" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li><a href="https://lists.apache.org/list.html?dev@superset.apache.org" target="_blank" rel="noopener noreferrer" class="dropdown__link">Mailing List<svg width="12" height="12" aria-hidden="true" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li><a href="https://stackoverflow.com/questions/tagged/apache-superset" target="_blank" rel="noopener noreferrer" class="dropdown__link">Stack Overflow<svg width="12" height="12" aria-hidden="true" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a class="navbar__item navbar__link default-button-theme get-started-button" href="/docs/intro">Get Started</a><a href="https://github.com/apache/superset" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link github-button"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP 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" aria-hidden="true" class="toggleIcon_g3eP 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><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/6.0.0/intro">Introduction</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/6.0.0/quickstart">Quickstart</a></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--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/docs/6.0.0/installation/architecture">Installation</a></div><ul 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/6.0.0/installation/architecture">Architecture</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/6.0.0/installation/installation-methods">Installation Methods</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/6.0.0/installation/kubernetes">Kubernetes</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/6.0.0/installation/pypi">PyPI</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/6.0.0/installation/docker-compose">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" tabindex="0" href="/docs/6.0.0/installation/upgrading-superset">Upgrading Superset</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/6.0.0/installation/docker-builds">Docker Builds</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 menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/6.0.0/configuration/configuring-superset">Configuration</a></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 menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/6.0.0/using-superset/creating-your-first-dashboard">Using Superset</a></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 menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/6.0.0/contributing/">Contributing</a></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 menu__link--sublist-caret" role="button" aria-expanded="false" href="/docs/6.0.0/security/">Security</a></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/6.0.0/faq">FAQ</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/6.0.0/api">API</a></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_kv0_"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_TBSr"><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"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><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 class="breadcrumbs__item"><span class="breadcrumbs__link">Installation</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Docker Builds</span></li></ul></nav><span class="versionBadge_QOso">Version:<!-- --> <a class="ant-dropdown-trigger versionSelector_oOvN">6.0.0<!-- --> <span role="img" aria-label="down" class="anticon anticon-down"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></span></a></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>Docker builds, images and tags</h1></header>
<p>The Apache Superset community extensively uses Docker for development, release,
and productionizing Superset. This page details our Docker builds and tag naming
schemes to help users navigate our offerings.</p>
<p>Images are built and pushed to the <a href="https://hub.docker.com/r/apache/superset" target="_blank" rel="noopener noreferrer">Superset Docker Hub repository</a> using GitHub Actions.
Different sets of images are built and/or published at different times:</p>
<ul>
<li><strong>Published releases</strong> (<code>release</code>): published using
tags like <code>5.0.0</code> and the <code>latest</code> tag.</li>
<li><strong>Pull request iterations</strong> (<code>pull_request</code>): for each pull request, while
we actively build the docker to validate the build, we do
not publish those images for security reasons, we simply <code>docker build --load</code></li>
<li><strong>Merges to the main branch</strong> (<code>push</code>): resulting in new SHAs, with tags
prefixed with <code>master</code> for the latest <code>master</code> version.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="build-presets">Build presets<a href="#build-presets" class="hash-link" aria-label="Direct link to Build presets" title="Direct link to Build presets"></a></h2>
<p>We have a set of build &quot;presets&quot; that each represent a combination of
parameters for the build, mostly pointing to either different target layer
for the build, and/or base image.</p>
<p>Here are the build presets that are exposed through the <code>supersetbot docker</code> utility:</p>
<ul>
<li><code>lean</code>: The default Docker image, including both frontend and backend. Tags
without a build_preset are lean builds (ie: <code>latest</code>, <code>5.0.0</code>, <code>4.1.2</code>, ...). <code>lean</code>
builds do not contain database
drivers, meaning you need to install your own. That applies to analytics databases <strong>AND
the metadata database</strong>. You&#x27;ll likely want to layer either <code>mysqlclient</code> or <code>psycopg2-binary</code>
depending on the metadata database you choose for your installation, plus the required
drivers to connect to your analytics database(s).</li>
<li><code>dev</code>: For development, with a headless browser, dev-related utilities and root access. This
includes some commonly used database drivers like <code>mysqlclient</code>, <code>psycopg2-binary</code> and
some other used for development/CI</li>
<li><code>py311</code>, e.g., Py311: Similar to lean but with a different Python version (in this example, 3.11).</li>
<li><code>ci</code>: For certain CI workloads.</li>
<li><code>websocket</code>: For Superset clusters supporting advanced features.</li>
<li><code>dockerize</code>: Used by Helm in initContainers to wait for database dependencies to be available.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-tags-examples">Key tags examples<a href="#key-tags-examples" class="hash-link" aria-label="Direct link to Key tags examples" title="Direct link to Key tags examples"></a></h2>
<ul>
<li><code>latest</code>: The latest official release build</li>
<li><code>latest-dev</code>: the <code>-dev</code> image of the latest official release build, with a
headless browser and root access.</li>
<li><code>master</code>: The latest build from the <code>master</code> branch, implicitly the lean build
preset</li>
<li><code>master-dev</code>: Similar to <code>master</code> but includes a headless browser and root access.</li>
<li><code>pr-5252</code>: The latest commit in PR 5252.</li>
<li><code>30948dc401b40982cb7c0dbf6ebbe443b2748c1b-dev</code>: A build for
this specific SHA, which could be from a <code>master</code> merge, or release.</li>
<li><code>websocket-latest</code>: The WebSocket image for use in a Superset cluster.</li>
</ul>
<p>For insights or modifications to the build matrix and tagging conventions,
check the <a href="https://github.com/apache-superset/supersetbot" target="_blank" rel="noopener noreferrer">supersetbot docker</a>
subcommand and the <a href="https://github.com/apache/superset/blob/master/.github/workflows/docker.yml" target="_blank" rel="noopener noreferrer">docker.yml</a>
GitHub action.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="building-your-own-production-docker-image">Building your own production Docker image<a href="#building-your-own-production-docker-image" class="hash-link" aria-label="Direct link to Building your own production Docker image" title="Direct link to Building your own production Docker image"></a></h2>
<p>Every Superset deployment will require its own set of drivers depending on the data warehouse(s),
etc. so we recommend that users build their own Docker image by extending the <code>lean</code> image.</p>
<p>Here&#x27;s an example Dockerfile that does this. Follow the in-line comments to customize it for
your desired Superset version and database drivers. The comments also note that a certain feature flag will
have to be enabled in your config file.</p>
<p>You would build the image with <code>docker build -t mysuperset:latest .</code> or <code>docker build -t ourcompanysuperset:5.0.0 .</code></p>
<div class="language-Dockerfile language-dockerfile codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-dockerfile codeBlock_bY9V thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#9CDCFE"><span class="token plain"># change this to apache/superset:5.0.0 or whatever version you want to build from;</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"># otherwise the default is the latest commit on GitHub master branch</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">FROM apache/superset:master</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">USER root</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"># Set environment variable for Playwright</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">ENV PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/playwright-browsers</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"># Install packages using uv into the virtual environment</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"># Superset started using uv after the 4.1 branch; if you are building from apache/superset:4.1.x or an older version,</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"># replace the first two lines with RUN pip install \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">RUN . /app/.venv/bin/activate &amp;&amp; \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> uv pip install \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # install psycopg2 for using PostgreSQL metadata store - could be a MySQL package if using that backend:</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> psycopg2-binary \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # add the driver(s) for your data warehouse(s), in this example we&#x27;re showing for Microsoft SQL Server:</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> pymssql \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # package needed for using single-sign on authentication:</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Authlib \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # openpyxl to be able to upload Excel files</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> openpyxl \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # Pillow for Alerts &amp; Reports to generate PDFs of dashboards</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> Pillow \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # install Playwright for taking screenshots for Alerts &amp; Reports. This assumes the feature flag PLAYWRIGHT_REPORTS_AND_THUMBNAILS is enabled</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # That feature flag will default to True starting in 6.0.0</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # Playwright works only with Chrome.</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> # If you are still using Selenium instead of Playwright, you would instead install here the selenium package and a headless browser &amp; webdriver</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> playwright \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> &amp;&amp; playwright install-deps \</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"> &amp;&amp; PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/playwright-browsers playwright install chromium</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain"># Switch back to the superset user</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">USER superset</span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#9CDCFE"><span class="token plain">CMD [&quot;/app/docker/entrypoints/run-server.sh&quot;]</span><br></span></code></pre></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-args-in-dockerfile">Key ARGs in Dockerfile<a href="#key-args-in-dockerfile" class="hash-link" aria-label="Direct link to Key ARGs in Dockerfile" title="Direct link to Key ARGs in Dockerfile"></a></h2>
<ul>
<li><code>BUILD_TRANSLATIONS</code>: whether to build the translations into the image. For the
frontend build this tells webpack to strip out all locales other than <code>en</code> from
the <code>moment-timezone</code> library. For the backendthis skips compiling the
<code>*.po</code> translation files</li>
<li><code>DEV_MODE</code>: whether to skip the frontend build, this is used by our <code>docker-compose</code> dev setup
where we mount the local volume and build using <code>webpack</code> in <code>--watch</code> mode, meaning as you
alter the code in the local file system, webpack, from within a docker image used for this
purpose, will constantly rebuild the frontend as you go. This ARG enables the initial
<code>docker-compose</code> build to take much less time and resources</li>
<li><code>INCLUDE_CHROMIUM</code>: whether to include chromium in the backend build so that it can be
used as a headless browser for workloads related to &quot;Alerts &amp; Reports&quot; and thumbnail generation</li>
<li><code>INCLUDE_FIREFOX</code>: same as above, but for firefox</li>
<li><code>PY_VER</code>: specifying the base image for the python backend, we don&#x27;t recommend altering
this setting if you&#x27;re not working on forwards or backwards compatibility</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="caching">Caching<a href="#caching" class="hash-link" aria-label="Direct link to Caching" title="Direct link to Caching"></a></h2>
<p>To accelerate builds, we follow Docker best practices and use <code>apache/superset-cache</code>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-database-drivers">About database drivers<a href="#about-database-drivers" class="hash-link" aria-label="Direct link to About database drivers" title="Direct link to About database drivers"></a></h2>
<p>Our docker images come with little to zero database driver support since
each environment requires different drivers, and maintaining a build with
wide database support would be both challenging (dozens of databases,
python drivers, and os dependencies) and inefficient (longer
build times, larger images, lower layer cache hit rate, ...).</p>
<p>For production use cases, we recommend that you derive our <code>lean</code> image(s) and
add database support for the database you need.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="on-supporting-different-platforms-namely-arm64-and-amd64">On supporting different platforms (namely arm64 AND amd64)<a href="#on-supporting-different-platforms-namely-arm64-and-amd64" class="hash-link" aria-label="Direct link to On supporting different platforms (namely arm64 AND amd64)" title="Direct link to On supporting different platforms (namely arm64 AND amd64)"></a></h2>
<p>Currently all automated builds are multi-platform, supporting both <code>linux/arm64</code>
and <code>linux/amd64</code>. This enables higher level constructs like <code>helm</code> and
<code>docker compose</code> to point to these images and effectively be multi-platform
as well.</p>
<p>Pull requests and master builds
are one-image-per-platform so that they can be parallelized and the
build matrix for those is more sparse as we don&#x27;t need to build every
build preset on every platform, and generally can be more selective here.
For those builds, we suffix tags with <code>-arm</code> where it applies.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="working-with-apple-silicon">Working with Apple silicon<a href="#working-with-apple-silicon" class="hash-link" aria-label="Direct link to Working with Apple silicon" title="Direct link to Working with Apple silicon"></a></h3>
<p>Apple&#x27;s current generation of computers uses ARM-based CPUs, and Docker
running on MACs seem to require <code>linux/arm64/v8</code> (at least one user&#x27;s M2 was
configured in that way). Setting the environment
variable <code>DOCKER_DEFAULT_PLATFORM</code> to <code>linux/amd64</code> seems to function in
term of leveraging, and building upon the Superset builds provided here.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#9CDCFE"><span class="token plain">export DOCKER_DEFAULT_PLATFORM=linux/amd64</span><br></span></code></pre></div></div>
<p>Presumably, <code>linux/arm64/v8</code> would be more optimized for this generation
of chips, but less compatible across the ARM ecosystem.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/apache/superset/edit/master/docs/versioned_docs/version-6.0.0/installation/docker-builds.mdx" target="_blank" rel="noopener noreferrer" 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_JAkA"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2025-09-02T17:29:52.000Z" itemprop="dateModified">Sep 2, 2025</time></b> by <b>dependabot[bot]</b></span></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/6.0.0/installation/upgrading-superset"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Upgrading Superset</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/6.0.0/configuration/configuring-superset"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Configuring Superset</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="#build-presets" class="table-of-contents__link toc-highlight">Build presets</a></li><li><a href="#key-tags-examples" class="table-of-contents__link toc-highlight">Key tags examples</a></li><li><a href="#building-your-own-production-docker-image" class="table-of-contents__link toc-highlight">Building your own production Docker image</a></li><li><a href="#key-args-in-dockerfile" class="table-of-contents__link toc-highlight">Key ARGs in Dockerfile</a></li><li><a href="#caching" class="table-of-contents__link toc-highlight">Caching</a></li><li><a href="#about-database-drivers" class="table-of-contents__link toc-highlight">About database drivers</a></li><li><a href="#on-supporting-different-platforms-namely-arm64-and-amd64" class="table-of-contents__link toc-highlight">On supporting different platforms (namely arm64 AND amd64)</a><ul><li><a href="#working-with-apple-silicon" class="table-of-contents__link toc-highlight">Working with Apple silicon</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">
<div class="footer__applitools">
We use &nbsp;<a href="https://applitools.com/" target="_blank" rel="nofollow"><img src="/img/applitools.png" title="Applitools"></a>
</div>
<p>Copyright © 2024,
The <a href="https://www.apache.org/" target="_blank" rel="noreferrer">Apache Software Foundation</a>,
Licensed under the Apache <a href="https://apache.org/licenses/LICENSE-2.0" target="_blank" rel="noreferrer">License</a>.</p>
<p><small>Apache Superset, Apache, Superset, the Superset logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
<a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a> resources</small></p>
<img class="footer__divider" src="/img/community/line.png" alt="Divider">
<p>
<small>
<a href="/docs/security/" target="_blank" rel="noreferrer">Security</a>&nbsp;|&nbsp;
<a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noreferrer">Donate</a>&nbsp;|&nbsp;
<a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noreferrer">Thanks</a>&nbsp;|&nbsp;
<a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
<a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>&nbsp;|&nbsp;
<a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank" rel="noreferrer">Privacy</a>
</small>
</p>
<!-- telemetry/analytics pixel: -->
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
</div></div></div></footer></div>
</body>
</html>