{"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,8LAEF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,gCADd,cAFE,8RAQA,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,uGACA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,4BAIL,iBAAQ,CACN,GAAM,4CADR,6CAGA,sEACA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,oBAIL,yDACA,uBAAK,gCAAMA,WAAW,OAAU,CAC5B,UAAa,kBADZ,0BAIL,mNAEA,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,sBAIL,2I,qNAMJJ,EAAWK,gBAAiB","file":"component---src-pages-docs-installation-index-mdx-7bb5ef6b4a63fb1a10d8.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 \"/Users/srinify/Documents/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. The best 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.`}</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    <p>{`We recommend that you check out and run the code from the last tagged release:`}</p>\n    <pre><code parentName=\"pre\" {...{\n        \"className\": \"language-bash\"\n      }}>{`$ git checkout latest\n`}</code></pre>\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 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    <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    <p>{`Congrats! You have successfully installed Superset! Click 'Next' to learn how to connect a database\ndriver.`}</p>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}