Configuring Posit Workbench with Custom Container Images

This example deploys Posit Workbench using custom images instead of the default public Posit provided images.

Both the Workbench service and session container images may be customized in the helm chart to pull from your own container registry instead of the public Posit provided images.

The default public images are on Docker Hub:

Workbench service: rstudio/rstudio-workbench Workbench sessions: rstudio/r-session-complete

To use the example you will need:

  • a license file or key
  • ReadWriteMany POSIX compliant storage class for homeStorage and sharedStorage
  • a PostgreSQL database.
values.yaml
# Using a license file with the helm chart:
# https://github.com/rstudio/helm/tree/main/charts/rstudio-workbench#license-file
# If you would like to use a license key see this documentation:
# https://github.com/rstudio/helm/tree/main/charts/rstudio-workbench#license-key
license:
  file:
    secret: posit-licenses # TODO: Change to the secret name in your cluster
    secretKey: workbench.lic # TODO: Change to the secret key containing your Workbench license

# Configures user home directory shared storage
homeStorage:
  create: true
  mount: true
  storageClassName: nfs-sc-rwx # TODO: Change to a RWX StorageClass available in your cluster
  # volumeName: wb-home-pv-name # Only needed if PVs have been statically provisioned, in which case this will need to match the PV name.
  requests:
    storage: 100G

# Configures Workbench shared storage
sharedStorage:
  create: true
  mount: true
  storageClassName: nfs-sc-rwx # TODO: Change to a RWX StorageClass available in your cluster
  # volumeName: wb-shared-pv-name # Only needed if PVs have been statically provisioned, in which case this will need to match the PV name.
  requests:
    storage: 1G

image:
  tagPrefix: ubuntu2204- # TODO: Change to match your custom image tag prefix
  repository: "rstudio/rstudio-workbench" # TODO: Change to match your custom image repository
  tag: "" # TODO: Change to match your custom image tag. By default when this is left blank the chart app version is automatically filled out.

session:
  image:
    tagPrefix: ubuntu2204- # TODO: Change to match your custom image tag prefix
    repository: "rstudio/r-session-complete" # TODO: Change to match your custom image repository
    tag: "" # TODO: Change to match your custom image tag. By default when this is left blank the chart app version is automatically filled out.

config:
  secret:
    database.conf:
      provider: "postgresql"
      connection-uri: "postgres://<USERNAME>@<HOST>:<PORT>/<DATABASE>?sslmode=require" # TODO: Change this URI to reach your Postgres database.
      password: "<PASSWORD>" # TODO: Remove this line and instead set the password during helm install with --set config.secret.database\.conf.password=<your-postgres-password>.