Skip to content

Latest commit

 

History

History

quarto

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Quarto runner

In this directory we define a dockerized environment to run Quarto. The image builds on top of the Tenzir image and adds R, Poetry, and Quarto. This creates a runtime suitable for calling the Tenzir binary from notebooks.

We don't publish the Quarto Docker image, so you need to build it locally.

The quarto.bind.yaml overlay contains the configurations to bind-mount the Tenzir repository on the Quarto container and avoid filesystem permission conflicts between the container and the host users. For instance, to run the Quarto build in the web directory, open a terminal in the docker/compose directory and run:

# required to allow writing on the host without permission conflicts
export HOST_UID=$(id -u) 
export HOST_GID=$(id -g) 

docker compose \
    -f quarto.yaml \
    -f quarto.bind.yaml \
    run quarto \
    make -C web

The quarto.tenzir.yaml overlay adds the settings to enable communication between the Tenzir binary in the Quarto image and the tenzir service (configured using the tenzir Compose configurations). To perform the Quarto build of the examples notebooks with a pristine tenzir service running in the background, in the docker/compose directory run:

export HOST_UID=$(id -u) 
export HOST_GID=$(id -g) 

export COMPOSE_FILE="tenzir.yaml"
COMPOSE_FILE="$COMPOSE_FILE:quarto.yaml"
COMPOSE_FILE="$COMPOSE_FILE:quarto.bind.yaml"
COMPOSE_FILE="$COMPOSE_FILE:quarto.tenzir.yaml"

docker compose up -d tenzir

docker compose \
    run quarto \
    make -C examples/notebooks

docker compose down