{"version":3,"sources":["webpack:///./src/pages/docs/installation/index.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"wPAQaA,G,UAAe,S,uNAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,oDADR,oDAGA,qOAGA,iBAAQ,CACN,GAAM,gDADR,iDAGA,qBAAG,sBAAQC,WAAW,KAAnB,YACH,qBAAG,6BAAGA,WAAW,KAAQ,CACrB,KAAQ,oDADT,0BAAH,+DAG6B,0BAAYA,WAAW,KAAvB,kBAH7B,oBAIA,+PAGA,qBAAG,sBAAQA,WAAW,KAAnB,UACH,qBAAG,6BAAGA,WAAW,KAAQ,CACrB,KAAQ,4CADT,2BAAH,yFAG4D,0BAAYA,WAAW,KAAvB,kBAH5D,oHAKF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,6CADd,4CALE,eAQA,qBAAG,sBAAQA,WAAW,KAAnB,YACH,yLAEF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,gCADd,cAFE,6SAO+C,6BAAGA,WAAW,KAAQ,CACjE,KAAQ,oDADmC,kEAP/C,kCAUA,iBAAQ,CACN,GAAM,uCADR,yCAGA,qBAAG,6BAAGA,WAAW,KAAQ,CACrB,KAAQ,uCADT,yBAAH,kDAIA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,yDAIL,uFAAsE,0BAAYA,WAAW,KAAvB,YAAtE,uCAEA,iBAAQ,CACN,GAAM,4CADR,6CAGA,sEACA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,oBAIL,yDACA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,wDAIL,mNAEA,qBAAG,sBAAQA,WAAW,KAAnB,SAAH,kNAC6G,0BAAYA,WAAW,KAAvB,qBAD7G,uBAEe,0BAAYA,WAAW,KAAvB,iBAFf,6CAGA,iBAAQ,CACN,GAAM,8BADR,8BAGA,gKACA,oGAAmF,0BAAYA,WAAW,KAAvB,eAAnF,QAAmJ,0BAAYA,WAAW,KAAvB,uBAAnJ,0LACA,kDAAiC,0BAAYA,WAAW,KAAvB,0BAAjC,iCAAqI,0BAAYA,WAAW,KAAvB,iBAArI,yUACA,qBAAG,sBAAQA,WAAW,KAAnB,SAAH,yHAAsK,0BAAYA,WAAW,KAAvB,8BAAtK,mFAAgU,0BAAYA,WAAW,KAAvB,yBAAhU,mCAAqa,0BAAYA,WAAW,KAAvB,sBAAra,8NACA,iBAAQ,CACN,GAAM,wBADR,yBAGA,qPAEsB,0BAAYA,WAAW,KAAvB,yBAFtB,4CAEoI,0BAAYA,WAAW,KAAvB,SAFpI,yDAG6C,0BAAYA,WAAW,KAAvB,QAH7C,KAIA,uEACA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,sBAIL,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,4B,qNAQTJ,EAAWK,gBAAiB","file":"component---src-pages-docs-installation-index-mdx-c1e98eb9a42781ccb423.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"installing-superset-locally-using-docker-compose\"\n    }}>{`Installing Superset Locally Using Docker Compose`}</h2>\n    <p>{`The fastest way to try Superset locally is using Docker and Docker Compose on a Linux or Mac OSX\ncomputer. Superset does not have official support for Windows, so we have provided a VM workaround\nbelow.`}</p>\n    <h3 {...{\n      \"id\": \"1-install-a-docker-engine-and-docker-compose\"\n    }}>{`1. Install a Docker Engine and Docker Compose`}</h3>\n    <p><strong parentName=\"p\">{`Mac OSX`}</strong></p>\n    <p><a parentName=\"p\" {...{\n        \"href\": \"https://docs.docker.com/docker-for-mac/install/\"\n      }}>{`Install Docker for Mac`}</a>{`, which includes the Docker\nengine and a recent version of `}<inlineCode parentName=\"p\">{`docker-compose`}</inlineCode>{` out of the box.`}</p>\n    <p>{`Once you have Docker for Mac installed, open up the preferences pane for Docker, go to the\n\"Resources\" section and increase the allocated memory to 6GB. With only the 2GB of RAM allocated by\ndefault, Superset will fail to start.`}</p>\n    <p><strong parentName=\"p\">{`Linux`}</strong></p>\n    <p><a parentName=\"p\" {...{\n        \"href\": \"https://docs.docker.com/engine/install/\"\n      }}>{`Install Docker on Linux`}</a>{` by following Docker’s\ninstructions for whichever flavor of Linux suits you. Because `}<inlineCode parentName=\"p\">{`docker-compose`}</inlineCode>{` is not installed as\npart of the base Docker installation on Linux, once you have a working engine, follow the\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://docs.docker.com/compose/install/\"\n      }}>{`docker-compose installation instructions`}</a>{` for Linux.`}</p>\n    <p><strong parentName=\"p\">{`Windows`}</strong></p>\n    <p>{`Superset is not officially supported on Windows unfortunately. One option for Windows users to\ntry out Superset locally is to install an Ubuntu Desktop VM via\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://www.virtualbox.org/\"\n      }}>{`VirtualBox`}</a>{` and proceed with the Docker on Linux instructions inside\nof that VM. We recommend assigning at least 8GB of RAM to the virtual machine as well as\nprovisioning a hard drive of at least 40GB, so that there will be enough space for both the OS and\nall of the required dependencies. Docker Desktop `}<a parentName=\"p\" {...{\n        \"href\": \"https://docs.docker.com/docker-for-windows/wsl/\"\n      }}>{`recently added support for Windows Subsystem for Linux (WSL) 2`}</a>{`, which may be another option.`}</p>\n    <h3 {...{\n      \"id\": \"2-clone-supersets-github-repository\"\n    }}>{`2. Clone Superset's Github repository`}</h3>\n    <p><a parentName=\"p\" {...{\n        \"href\": \"https://github.com/apache/superset\"\n      }}>{`Clone Superset's repo`}</a>{` in your terminal with the\nfollowing command:`}</p>\n    <pre><code parentName=\"pre\" {...{\n        \"className\": \"language-bash\"\n      }}>{`$ git clone https://github.com/apache/superset.git\n`}</code></pre>\n    <p>{`Once that command completes successfully, you should see a new `}<inlineCode parentName=\"p\">{`superset`}</inlineCode>{` folder in your\ncurrent directory.`}</p>\n    <h3 {...{\n      \"id\": \"3-launch-superset-through-docker-compose\"\n    }}>{`3. Launch Superset Through Docker Compose`}</h3>\n    <p>{`Navigate to the folder you created in step 1:`}</p>\n    <pre><code parentName=\"pre\" {...{\n        \"className\": \"language-bash\"\n      }}>{`$ cd superset\n`}</code></pre>\n    <p>{`Then, run the following command:`}</p>\n    <pre><code parentName=\"pre\" {...{\n        \"className\": \"language-bash\"\n      }}>{`$ docker-compose -f docker-compose-non-dev.yml up\n`}</code></pre>\n    <p>{`You should see a wall of logging output from the containers being launched on your machine. Once\nthis output slows, you should have a running instance of Superset on your local machine!`}</p>\n    <p><strong parentName=\"p\">{`Note:`}</strong>{` This will bring up superset in a non-dev mode, changes to the codebase will not be reflected.\nIf you would like to run superset in dev mode to test local changes, simply replace the previous command with: `}<inlineCode parentName=\"p\">{`docker-compose up`}</inlineCode>{`,\nand wait for the `}<inlineCode parentName=\"p\">{`superset_node`}</inlineCode>{` container to finish building the assets.`}</p>\n    <h4 {...{\n      \"id\": \"configuring-docker-compose\"\n    }}>{`Configuring Docker Compose`}</h4>\n    <p>{`The following is for users who want to configure how Superset starts up in Docker Compose; otherwise, you can skip to the next section.`}</p>\n    <p>{`You can configure the Docker Compose settings for dev and non-dev mode with `}<inlineCode parentName=\"p\">{`docker/.env`}</inlineCode>{` and `}<inlineCode parentName=\"p\">{`docker/.env-non-dev`}</inlineCode>{` respectively. These environment files set the environment for most containers in the Docker Compose setup, and some variables affect multiple containers and others only single ones.`}</p>\n    <p>{`One important variable is `}<inlineCode parentName=\"p\">{`SUPERSET_LOAD_EXAMPLES`}</inlineCode>{` which determines whether the `}<inlineCode parentName=\"p\">{`superset_init`}</inlineCode>{` container will load example data and visualizations into the database and Superset. These examples are quite helpful for most people, but probably unnecessary for experienced users. The loading process can sometimes take a few minutes and a good amount of CPU, so you may want to disable it on a resource-constrained device.`}</p>\n    <p><strong parentName=\"p\">{`Note:`}</strong>{` Users often want to connect to other databases from Superset. Currently, the easiest way to do this is to modify the `}<inlineCode parentName=\"p\">{`docker-compose-non-dev.yml`}</inlineCode>{` file and add your database as a service that the other services depend on (via `}<inlineCode parentName=\"p\">{`x-superset-depends-on`}</inlineCode>{`). Others have attempted to set `}<inlineCode parentName=\"p\">{`network_mode: host`}</inlineCode>{` on the Superset services, but these generally break the installation, because the configuration requires use of the Docker Compose DNS resolver for the service names. If you have a good solution for this, let us know!`}</p>\n    <h3 {...{\n      \"id\": \"4-log-in-to-superset\"\n    }}>{`4. Log in to Superset`}</h3>\n    <p>{`Your local Superset instance also includes a Postgres server to store your data and is already\npre-loaded with some example datasets that ship with Superset. You can access Superset now via your\nweb browser by visiting `}<inlineCode parentName=\"p\">{`http://localhost:8088`}</inlineCode>{`. Note that many browsers now default to `}<inlineCode parentName=\"p\">{`https`}</inlineCode>{` - if\nyours is one of them, please make sure it uses `}<inlineCode parentName=\"p\">{`http`}</inlineCode>{`.`}</p>\n    <p>{`Log in with the default username and password:`}</p>\n    <pre><code parentName=\"pre\" {...{\n        \"className\": \"language-bash\"\n      }}>{`username: admin\n`}</code></pre>\n    <pre><code parentName=\"pre\" {...{\n        \"className\": \"language-bash\"\n      }}>{`password: admin\n`}</code></pre>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}