Deploy an app
Streamlit Cloud lets you deploy your apps in just one click, and most apps will deploy in only a few minutes. If you don't have an app ready to deploy, fork or clone one of our example apps — you can find apps for machine learning, data visualization, data exploration, A/B testing and more.
Add your app to GitHub
Streamlit Cloud launches apps directly from your GitHub repo, so your app code and dependencies need to be on GitHub before you try to deploy the app. See App dependencies for more information.
Deploy your app
To deploy an app, click "New app" from the upper right corner of your workspace, then fill in your repo, branch, and file path, and click "Deploy". As a shortcut, you can also click "Paste GitHub URL".
Advanced settings for deployment
If you are connecting to a data source or want to select a Python version for your app, you can do that by clicking "Advanced settings" before you deploy the app.
Streamlit Cloud supports Python 3.7 - Python 3.10, and defaults to version 3.9. You can select a version of your choice from the "Python version" dropdown in the "Advanced settings" modal.
Watch your app launch
Your app is now deploying and you can watch while it launches. Most apps take only a couple of minutes to deploy, but if your app has a lot of dependencies it may take some time to deploy the first time. After the initial deployment, any change that does not touch your dependencies should show up immediately.
The Cloud logs on the right hand side are only viewable to the developer and is how you can grab logs and debug any issues with the app. Learn more about Cloud logs.
Your app URL
That's it — you're done! Your app now has a unique subdomain URL that you can share with others. Click here to read about how to share your app with viewers.
App subdomain URLs follow a structure based on your GitHub repo:
https://[user name]-[repo name]-[branch name]-[app path]-[short hash].streamlitapp.com
Streamlit Community Cloud supports embedding public apps using the subdomain scheme. To embed a public app, add the query parameter
/?embedded=true to the end of the
*streamlitapp.com subdomain URL.
For example, say you want to embed the Streamlit Docs' PyDeck app: https://doc-pydeck-chart.streamlitapp.com/. The URL to include in your iframe is: https://doc-pydeck-chart.streamlitapp.com/?embedded=true.
If you want to hide the chrome, scrollbars, and hamburger menu in your embedded apps, you can add the
/?embed=true query parameter instead to the end of the
*streamlitapp.com subdomain URL.
For example: https://doc-pydeck-chart.streamlitapp.com/?embed=true.
There will be no official support for embedding private apps.
Subdomains will also soon be customizable! With this step you'll be able modify your app URLs to reflect your app content, personal branding, or whatever you’d like. The URL will appear as:
Early access signup for custom subdomains is now closed. The feature will soon be publicly available. Once you have access, to customize your app subdomain from the dashboard:
Click the "︙" overflow menu to the right of the app and select "Settings"
View the "General" tab in the App settings modal. Your app's unique subdomain will appear here
Pick a custom subdomain between 6 and 63 characters in length for your app's URL and hit "Save"
It's that simple! You can then access your app by visiting your custom subdomain URL 🎉. For example, https://deep-dream.streamlitapp.com/.
If a custom subdomain is not available (e.g. because it's already taken), you'll see an error message like this: