Skip to content

posit-dev/images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Posit Logo      Container cube

Posit container images

This is the home repository for Posit container images, which includes images for Posit Connect, Posit Package Manager, and Posit Workbench.

Prerequisites

Tool Required for Install
Docker Running containers locally Get Docker
Product license All products Licensing FAQ, Request a trial license

Quick start

PCT_VERSION="2026.04.1"
PCT_IMAGE="ghcr.io/posit-dev/connect"  # or docker.io/posit/connect
PCT_LICENSE="/path/to/license.lic"
docker run -d \
  --name connect \
  --privileged \
  -p 3939:3939 \
  -v ${PCT_LICENSE}:/etc/rstudio-connect/license.lic \
  ${PCT_IMAGE}:${PCT_VERSION}

Access Connect at http://localhost:3939.

See the Connect installation guide for full setup instructions.

PPM_VERSION="2026.04.2"
PPM_IMAGE="ghcr.io/posit-dev/package-manager"  # or docker.io/posit/package-manager
PPM_LICENSE="/path/to/license.lic"
docker run -d \
  --name package-manager \
  -p 4242:4242 \
  -v ${PPM_LICENSE}:/etc/rstudio-pm/license.lic \
  ${PPM_IMAGE}:${PPM_VERSION}

Access Package Manager at http://localhost:4242.

See the Package Manager installation guide for full setup instructions.

PWB_VERSION="2026.04.0"
PWB_IMAGE="ghcr.io/posit-dev/workbench"  # or docker.io/posit/workbench
PWB_LICENSE="/path/to/license.lic"
docker run -d \
  --name workbench \
  -p 8787:8787 \
  -e PWB_TESTUSER=posit \
  -e PWB_TESTUSER_PASSWD=posit \
  -v ${PWB_LICENSE}:/etc/rstudio-server/license.lic \
  ${PWB_IMAGE}:${PWB_VERSION}

Access Workbench at http://localhost:8787. Log in with username posit and password posit.

See the Workbench installation guide for full setup instructions.

With Docker Compose

Run all three products together. Update the license file paths on the host (and the optional configuration file paths) before starting the stack.

services:
  connect:
    image: ghcr.io/posit-dev/connect:latest
    privileged: true
    ports:
      - "3939:3939"
    volumes:
      - /path/to/connect-license.lic:/etc/rstudio-connect/license.lic
      - /path/to/rstudio-connect.gcfg:/etc/rstudio-connect/rstudio-connect.gcfg:ro
      - connect-data:/var/lib/rstudio-connect
    restart: unless-stopped

  package-manager:
    image: ghcr.io/posit-dev/package-manager:latest
    ports:
      - "4242:4242"
    volumes:
      - /path/to/package-manager-license.lic:/etc/rstudio-pm/license.lic
      - /path/to/rstudio-pm.gcfg:/etc/rstudio-pm/rstudio-pm.gcfg:ro
      - package-manager-data:/var/lib/rstudio-pm
    restart: unless-stopped

  workbench:
    image: ghcr.io/posit-dev/workbench:latest
    ports:
      - "8787:8787"
    environment:
      PWB_TESTUSER: posit
      PWB_TESTUSER_PASSWD: posit
    volumes:
      - /path/to/workbench-license.lic:/etc/rstudio-server/license.lic
      - /path/to/rstudio:/etc/rstudio:ro
      - workbench-home:/home
      - workbench-shared:/var/lib/rstudio-server
    restart: unless-stopped

volumes:
  connect-data:
  package-manager-data:
  workbench-home:
  workbench-shared:

Start the stack with docker compose up -d. Access Connect at http://localhost:3939, Package Manager at http://localhost:4242, and Workbench at http://localhost:8787 (log in with username posit and password posit).

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
Image Docker Hub GitHub Container Registry
package-manager docker.io/posit/package-manager ghcr.io/posit-dev/package-manager
Image Docker Hub GitHub Container Registry
workbench docker.io/posit/workbench ghcr.io/posit-dev/workbench
workbench-session docker.io/posit/workbench-session ghcr.io/posit-dev/workbench-session
workbench-session-init docker.io/posit/workbench-session-init ghcr.io/posit-dev/workbench-session-init
workbench-positron-init docker.io/posit/workbench-positron-init ghcr.io/posit-dev/workbench-positron-init

Deploying on Kubernetes

These images are the default in Posit Helm chart versions >= 0.20.0. See the image migration guide if you are upgrading from an earlier chart version, or each product's chart docs for configuration:

Image variants

Variant Suffix Description
Standard -std Pre-configured runtime that runs out of the box. Includes R, Python, and Quarto for Connect and Workbench; R and Python for Package Manager.
Minimal -min Base image for custom builds. Not fully functional until extended.

For examples of extending Minimal base images, see the extending examples.

Image tag format

Ubuntu 24.04 is the default OS for all images.

  • {version}: latest OS, standard variant (for example, 2026.04.1)
  • {version}-{os}: explicit OS, standard variant (for example, 2026.04.1-ubuntu-24.04)
  • {version}-{os}-{variant}: explicit OS and variant (for example, 2026.04.1-ubuntu-24.04-std)
  • latest: latest version, default OS, standard variant
  • Content and session images: R{r_version}-python{python_version}-{os} (for example, R4.5.2-python3.14.3-ubuntu-24.04)

Registries

Code repositories

Image definitions

Repository Description
images-connect Posit Connect container images
images-package-manager Posit Package Manager container images
images-workbench Posit Workbench container images
images-specialized Specialized container images (for example, Workbench for Microsoft Azure ML, Workbench for Google Cloud Workstations)

Specialized images are pre-configured for managed cloud platforms and are consumed through those platforms rather than directly via docker run. See the images-specialized README for platform-specific guidance.

Examples and tooling

Repository Description
images Posit container image meta repository
images-examples Examples for using and extending Posit container images
images-shared Shared tooling for container images

Shared tooling

All product image repositories use shared tooling from the images-shared repository:

  • Bakery CLI: manages matrixed container image builds with variant support (Standard std and Minimal min), version management, and parallel building via Docker Buildx Bake.
  • CI Workflows: shared GitHub Actions workflows for building, testing, and pushing images.
  • Bakery Examples: step-by-step examples for building custom images with Bakery.
  • Extending Examples: examples of extending Minimal base images with additional layers (Python, R, system dependencies, and others).

Design principles

Static definitions

Each Containerfile (or Dockerfile) is static and supports multiple container build tools (for example, docker buildx bake and podman). Bakery generates Containerfiles from Jinja2 templates, resolves dependency versions, and renders templates into build-ready files with no runtime logic.

Security

Posit rebuilds images for all supported product versions weekly so system packages use current security patches.

ARM64 support

Posit is adding multi-platform images as ARM64 chipset support rolls out across products.

Package Manager and Connect have multi-platform images that support linux/amd64 and linux/arm64.

Extensibility

A single configuration file (bakery.yaml) defines the following:

Property Examples
Images connect, workbench, package-manager
Versions 2026.04.1, 2026.04.2
Variants Minimal (min), Standard (std)
Dependencies Python, R, Quarto
Operating system Ubuntu 24.04, Ubuntu 22.04
Platforms linux/amd64, linux/arm64
Tags latest, 2026.04.1-ubuntu-24.04
Registries Docker Hub, GHCR

Share your feedback

We invite you to join us on GitHub Discussions to ask questions and share 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 licenses these container images and associated tooling under the MIT License.

About

Posit Container Images

Resources

License

Code of conduct

Stars

5 stars

Watchers

3 watching

Forks

Contributors