Skip to content

posit-dev/images-connect

Repository files navigation

Posit Connect Container Images

Container images for Posit Connect.

Note

These images are in preview as Posit migrates container images from rstudio/rstudio-docker-products. The existing images remain supported.

Prerequisites

Tool Required for Install
Docker Running containers locally Get Docker
Helm Deploying on Kubernetes Install Helm
kubectl Deploying on Kubernetes Install kubectl
Product license Running Posit Connect Licensing FAQ

Images

Image Docker Hub GitHub Container Registry
connect docker.io/posit/connect ghcr.io/posit-dev/connect
connect-content docker.io/posit/connect-content ghcr.io/posit-dev/connect-content
connect-content-init docker.io/posit/connect-content-init ghcr.io/posit-dev/connect-content-init

Additional Posit container images are published to Docker Hub and GitHub Container Registry.

Running the Images

For local Docker, you only need the connect image. The connect-content and connect-content-init images are for Kubernetes deployments, where published content runs in separate pods from the Connect server.

See the Connect installation guide for full setup instructions.

Deploying on Kubernetes

Use the Posit Connect Helm chart to deploy on Kubernetes.

helm repo add rstudio https://helm.rstudio.com
helm repo update

Create a Kubernetes secret from your license file, then configure the chart in your values.yaml:

kubectl create secret generic posit-connect-license \
  --from-file=license.lic=/path/to/license.lic

The executionEnvironments list uses declarative management (Connect 2026.03.0+). Unlike the legacy customRuntimeYaml, changes take effect on every helm upgrade without requiring a pod restart or database reset. Setting customRuntimeYaml to an empty images list prevents the chart from bootstrapping its default set of 12 content images on first start.

image:
  repository: ghcr.io/posit-dev/connect
  tag: "2026.03.0"

license:
  file:
    secret: posit-connect-license

launcher:
  # Suppress the default runtime.yaml bootstrap so only
  # executionEnvironments images are registered.
  customRuntimeYaml: |
    name: Kubernetes
    images: []
  defaultInitContainer:
    repository: ghcr.io/posit-dev/connect-content-init
    tag: "2026.03.0"

executionEnvironments:
  - name: ghcr.io/posit-dev/connect-content:R4.5.2-python3.14.3-ubuntu-24.04
    title: "R 4.5.2 / Python 3.14.3"
    matching: any
    r:
      installations:
        - version: "4.5.2"
          path: /opt/R/4.5.2/bin/R
    python:
      installations:
        - version: "3.14.3"
          path: /opt/python/3.14.3/bin/python3
    quarto:
      installations:
        - version: "1.8.27"
          path: /opt/quarto/1.8.27/bin/quarto
  - name: ghcr.io/posit-dev/connect-content:R4.4.3-python3.12.12-ubuntu-24.04
    title: "R 4.4.3 / Python 3.12.12"
    matching: any
    r:
      installations:
        - version: "4.4.3"
          path: /opt/R/4.4.3/bin/R
    python:
      installations:
        - version: "3.12.12"
          path: /opt/python/3.12.12/bin/python3
    quarto:
      installations:
        - version: "1.8.27"
          path: /opt/quarto/1.8.27/bin/quarto

Content image tags follow the pattern R{r_version}-python{python_version}-{os}. Append -pro for images with Posit Professional Drivers.

Install the chart:

helm upgrade --install connect rstudio/rstudio-connect --values values.yaml

See the full chart documentation for all available values.

Building from Source

You can interact with this repository in multiple ways:

Build

You can build OCI container images from the definitions in this repository using one of the following container build tools:

The root of the bakery project is used as the build context for each Containerfile. Here, the bakery.yaml file, or project, is in the root of this repository.

PCT_VERSION="2026.02"

# Build the standard Connect image using docker
docker buildx build \
    --tag connect:${PCT_VERSION} \
    --file connect/${PCT_VERSION}/Containerfile.ubuntu2404.std \
    .

# Build the minimal Connect image using buildah
buildah build \
    --tag connect:${PCT_VERSION} \
    --file connect/${PCT_VERSION}/Containerfile.ubuntu2404.min \
    .

# Build the minimal Connect image using podman
podman build \
    --tag connect:${PCT_VERSION} \
    --file connect/${PCT_VERSION}/Containerfile.ubuntu2404.min \
    .

Using bakery

The structure and contents of this repository were created following the steps in bakery usage.

Additional documentation:

Prerequisites

Build prerequisites

Build with bakery

By default, bakery creates an ephemeral JSON bakefile to render all containers in parallel.

bakery build

You can view the bake plan using bakery build --plan.

You can use CLI flags to build only a subset of images in the project.

Test images

After building the container images, run the test suite for all images:

bakery run dgoss

You can use CLI flags to limit the tests to run against a subset of images.

Related Repositories

This repository is part of the Posit Container Images ecosystem. To extend the Minimal image with additional languages or system dependencies, see the extending examples. For shared build tooling and CI workflows, see images-shared.

Share your Feedback

We invite you to join us on GitHub Discussions to ask questions and share feedback.

Issues

If you encounter any issues or have any questions, please open an issue. We appreciate your feedback.

Code of Conduct

We expect all contributors to adhere to the project's Code of Conduct and create a positive and inclusive community.

License

Posit Container Images and associated tooling are licensed under the MIT License

About

Posit Connect Container Images

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors