Dashboard Deployment


There are a wide variety of ways to deploy dashboards created using Quarto. The mechanics of deployment are different depending on whether you are publishing a Static Dashboard (with no server dependencies) or a Shiny Dashboard. Both scenarios are covered in detail below.

Static Dashboards

If you are deploying a static dashboard (i.e. not using Shiny for interactivity) then you can publish dashboards to any web server. Quarto includes a quarto publish command to make it easy to publish to a few popular services as well as automate publishing via Continuous Integration (CI).

To get started, review the documentation for using one of the following publishing services:

Destination Description
Quarto Pub Publishing service for Quarto documents, websites, and books. Use Quarto Pub when you want a free, easy to use service for publicly available content.
GitHub Pages Publish content based on source code managed within a GitHub repository. Use GitHub Pages when the source code for your document or site is hosted on GitHub.
Posit Connect Publishing platform for secure sharing of data products within an organization. Use Posit Connect when you want to publish content within an organization rather than on the public internet.
Netlify Professional web publishing platform. Use Netlify when you want support for custom domains, authentication, previewing branches, and other more advanced capabilities.
Confluence Publishing platform for supporting team collaboration. Use Confluence to share documents in team Spaces.
Other Services Content rendered with Quarto uses standard formats (HTML, PDFs, MS Word, etc.) that can be published anywhere. Use this if none of the methods above meets your requirements.

If you don’t know which to choose, try Quarto Pub which is a free service for publicly available content. If you are publishing to a destination not listed above, choose Other Services.

These articles cover both straightforward direct publishing as well as Continuous Integration (CI) publishing with GitHub Actions. If you want to publish using CI and aren’t using GitHub Actions, the article on Publishing with CI provides additional details and documentation.

Shiny Dashboards

Dashboards that use Shiny for Python or Shiny for R are web applications that require a server for deployment (so they can’t just be deployed to a generic web host). Deployment options for Shiny applications include:

Below we’ll cover some deployment basics for Python and R and provide links to additioanal documentation on using the various available methods.

Shiny for Python

Shiny interactive documents are normal Shiny applications that are created using quarto render. In fact, you don’t need Quarto at all to serve interactive documents, rather, you can just shiny run the application generated by quarto render:

quarto render example.qmd
shiny run app.py

Your deployed application will consist of both the HTML document and app.py script generated by quarto render:


See the following documentation for information on deploying Shiny applications in various environments:

Destination Description
shinyapps.io Cloud hosting service
Hugging Face Cloud hosting service
Shiny Server Open source application server
Posit Connect Commerical publishing platform
Other Services Custom server/hosting environment

You can also deploy interactive Shiny documents in a serverless configuration (where Python runs in the browser via Pyodide). The Retirement Simulation is an example that demonstrates this workflow.

Shiny for R

Quarto Dashboards that use Shiny for R can be deployed using all of the tooling and services available for normal Shiny applications. Shiny for R dashboards are run using the quarto serve command:

quarto serve dashboard.qmd

The quarto serve command is supported natively by shinyapps.io, Shiny Server , and Posit Connect. See the in-depth documentation on Shiny for R Deployment for details.