Sign inSign up

posit/connect-content

By posit

•Updated 1 day ago

Image
0

100K+

posit/connect-content repository overview

Posit Connect Logo ⁠

⁠Posit Connect Content container image

These container images provide the runtime environments for executing content deployed to Connect⁠ in Kubernetes. Each image bundles a specific combination of R, Python, and Quarto so that content runs in an environment matching its language requirements.

GitHub Repository GitHub Workflow Status Latest Version Docker Pulls Docker Image Size

Tip

Deploying on Kubernetes? Try the Posit Connect Helm chart⁠!

⁠Quick reference

For Kubernetes deployments, Connect uses three images together. See the repository README⁠ for Helm configuration.

ImageDescriptionDocker HubGitHub Container Registry
connectThe Posit Connect serverposit/connect⁠posit-dev/connect⁠
connect-content-initInit container for Kubernetes deploymentsposit/connect-content-init⁠posit-dev/connect-content-init⁠

⁠How to use this image

Do not run these images directly. The Connect Job Launcher schedules them as content execution pods when published content runs on Kubernetes. Each pod executes Shiny applications, Plumber APIs, Quarto documents, Jupyter notebooks, and other Connect content using the R and Python versions baked into the image.

Configure these images as execution environments in Connect through any of the following methods:

  1. Helm chart values: The rstudio/rstudio-connect Helm chart includes a default set of content images defined by executionEnvironments. See the repository README⁠ for configuration details.
  2. Connect admin dashboard: Manage execution environments in the Connect UI under Admin > Execution environments.
  3. Connect API: Manage execution environments programmatically through the Connect Environments API endpoints⁠.

⁠Image variants

Two variants are available:

VariantDescription
Standard (std)R, Python, and Quarto with system dependencies for popular R and Python packages, Posit Professional Drivers, and the odbc R package for ODBC connectivity.
Minimal (min)R, Python, and Quarto with only the runtime prerequisites needed by Connect.

The legacy pro variant tag remains an alias for the Standard variant. The unqualified tag remains Minimal.

Each tagged image bundles a fixed set of dependencies. Both variants ship one R version, one Python version, and one Quarto version, for a collection of minor versions at their latest patch version available at build time. The Containerfiles in this repository under connect-content/matrix/ document the exact versions in any tag.

See content extending examples⁠ for how to build on these images, including pre-installing R packages, Python packages, and system dependencies.

⁠Image tags

Posit publishes images to:

  • Docker Hub: docker.io/posit/connect-content
  • GitHub Container Registry: ghcr.io/posit-dev/connect-content

Ubuntu 24.04 is the default OS.

The tag format is: R{r_version}-python{python_version}-{os}[-std|-min]

Examples:

  • R4.5.2-python3.14.3-ubuntu-24.04 — R 4.5.2, Python 3.14.3, Ubuntu 24.04, Minimal variant
  • R4.4.3-python3.12.12-ubuntu-24.04-std — R 4.4.3, Python 3.12.12, Ubuntu 24.04, Standard variant
  • R4.3.3-python3.11.14-ubuntu-22.04-min — R 4.3.3, Python 3.11.14, Ubuntu 22.04, Minimal variant

The legacy pro variant name remains an alias for std.

⁠Architectures

Posit publishes Ubuntu 24.04 content images for both linux/amd64 and linux/arm64. Pull the same tag from either platform. Docker selects the matching manifest automatically. Posit publishes Ubuntu 22.04 content images for linux/amd64 only.

⁠Installed software

Each image includes:

ComponentPath
R/opt/R/{version}/bin/R
Python/opt/python/{version}/bin/python3
Quarto/opt/quarto/bin/quarto

The Standard variant also installs Posit Professional Drivers under /opt/rstudio-drivers/ and the odbc R package, with the bundled odbcinst.ini copied to /etc/odbcinst.ini.

⁠User

These images do not declare a USER. Containers start as root. The Connect Job Launcher manages the runtime user when scheduling content pods, dropping privileges according to the configuration the Connect administrator sets.

⁠Examples

⁠Extending an image with additional R packages

Use any tag as a base for a derived image with additional dependencies. For example, a Standard-variant image with Tidyverse pre-installed:

FROM ghcr.io/posit-dev/connect-content:R4.5.2-python3.14.3-ubuntu-24.04-std

RUN /opt/R/4.5.2/bin/R -e 'install.packages("tidyverse", repos = "https://p3m.dev/cran/__linux__/noble/latest")'

See content extending examples⁠ for additional patterns.

⁠Migrating from legacy image

These images replace the legacy rstudio/content-base⁠ and rstudio/content-pro⁠ images. The runtime tools are mostly unchanged. R and Python install at the same versioned paths under /opt, and Connect schedules content into these images the same way. Quarto moved from versioned to flat installation under /opt/quarto/bin/quarto, but remains symlinked to the PATH and is otherwise unchanged. The differences mostly lie in how Posit publishes and tags the image.

⁠Image references

Posit published the legacy images as rstudio/content-base and rstudio/content-pro on Docker Hub, and as ghcr.io/rstudio/content-base and ghcr.io/rstudio/content-pro on GHCR. Both shipped linux/amd64 only, tagged like r{r_version}-py{python_version}-bionic or r{r_version}-py{python_version}-jammy. Update your image references to one of the new locations and pick a tag that pins to your desired R, Python, OS, and variant. See Image tags⁠ and Architectures⁠.

⁠Variants

The legacy images split content runtimes into two separate repositories: rstudio/content-base for the open-source build and rstudio/content-pro for the build with Posit Professional Drivers. The replacement images publish both as variants of a single connect-content repository: the Minimal (-min) variant matches content-base and the Standard (-std) variant matches content-pro. The legacy pro tag remains an alias. See Image variants⁠.

⁠Tag format

Legacy tags followed r{r_version}-py{python_version}-{codename}, for example r4.1.0-py3.9.2-jammy. Replacement tags follow R{r_version}-python{python_version}-{os}[-std|-min], for example R4.5.2-python3.14.3-ubuntu-24.04-std. Both forms encode the same information.

⁠What did not change
  • R, Python, and Quarto installation paths under /opt
  • The role of these images as content execution environments managed by Connect
  • The system dependencies bundled to support popular R packages

⁠Caveats

⁠Security

Review these images before using them in production. Organizations with specific Common Vulnerabilities and Exposures (CVE) or vulnerability requirements should rebuild these images to meet their security standards.

Posit rebuilds published images weekly for Posit product editions under active support to pull in operating system patches.

⁠Image dependency licenses

These images contain third-party software (R, Python, Quarto, system libraries, and their transitive dependencies) under various licenses. You are responsible for using these images and any of their dependent layers in compliance with the licenses of the contained software.

Tag summary

Content type

Image

Digest

sha256:666aa2086…

Size

671.9 MB

Last updated

1 day ago

docker pull posit/connect-content