How to Set Up Quarto with Docker, Part 2: Dynamic Content

Peter Solymos
Peter Solymos
How to Set Up Quarto with Docker, Part 2: Dynamic Content
Photo by davide ragusa / Unsplash

Quarto is next generation R Markdown that brings interactivity to documents using widgets, Observable, and Shiny. Let's see how to add server side execution to your Docker containers.

Quarto is an open-source scientific and technical publishing system built on Pandoc. It is a cross-platform tool to create dynamic content with Python, R, Julia, and Observable.

In the previous post about Quarto, we reviewed static hosting options with Docker containers, including single files and projects, such as books and websites.

How to Set Up Quarto with Docker, Part 1: Static Content
Learn how to work with Quarto inside a Docker container so that you can render and serve HTML documents and projects with ease.

Most of these options do not really require the hosting to be container based, because the rendered HTML can be published to static hosting sites, such as GitHub pages, or Netlify.

Even interactive documents that rely on widgets (Jupyter Widgets or htmlwidgets) or Observable JS can be hosted as static files. But just like with R Markdown, you can use Shiny for interactivity. This is the focus of Part 2.

Containerizing Interactive R Markdown Documents
R Markdown is a reproducible authoring format supporting dozens of static and dynamic output formats. Let’s review why and how you should containerize Rmd files.


The code from this post can be found in the analythium/quarto-docker-examples GitHub repository:

GitHub - analythium/quarto-docker-examples: Quarto Examples with Docker
Quarto Examples with Docker. Contribute to analythium/quarto-docker-examples development by creating an account on GitHub.

You will also need Docker Desktop installed.

If you want Quarto to be installed on your local machine, follow these two links to get started: Quarto docs, and RStudio install resources.

This post is for members only

Already have an account? Sign in
Great! Next, complete checkout for full access to Hosting Data Apps
Welcome back! You've successfully signed in
You've successfully subscribed to Hosting Data Apps
Success! Your account is fully activated, you now have access to all content
Success! Your billing info has been updated
Your billing was not updated