{"id":49382406,"url":"https://github.com/posit-dev/images","last_synced_at":"2026-04-28T06:05:11.564Z","repository":{"id":338108004,"uuid":"889129617","full_name":"posit-dev/images","owner":"posit-dev","description":"Posit Container Images","archived":false,"fork":false,"pushed_at":"2026-04-10T23:01:07.000Z","size":37,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-11T00:23:50.975Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/posit-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-15T17:04:39.000Z","updated_at":"2026-04-03T15:41:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/posit-dev/images","commit_stats":null,"previous_names":["posit-dev/images"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/posit-dev/images","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fimages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fimages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fimages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fimages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/posit-dev","download_url":"https://codeload.github.com/posit-dev/images/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fimages/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32368537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-28T06:05:10.812Z","updated_at":"2026-04-28T06:05:11.558Z","avatar_url":"https://github.com/posit-dev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Posit Container Images\n\n\u003e [!NOTE]\n\u003e These images are in preview as Posit migrates container images from [rstudio/rstudio-docker-products](https://github.com/rstudio/rstudio-docker-products). The existing images remain supported.\n\n## Prerequisites\n\n| Tool | Required for | Install |\n|------|-------------|---------|\n| [Docker](https://docs.docker.com/get-docker/) | Running containers locally | [Get Docker](https://docs.docker.com/get-docker/) |\n| Product license | All products | [Licensing FAQ](https://docs.posit.co/licensing/licensing-faq.html) |\n\n## Quick Start\n\n### [Posit Connect](https://github.com/posit-dev/images-connect)\n\n```bash\nPCT_VERSION=\"2026.02.0\"\nPCT_IMAGE=\"ghcr.io/posit-dev/connect\"  # or docker.io/posit/connect\nPCT_LICENSE=\"/path/to/license.lic\"\ndocker run -d \\\n  --name connect \\\n  --privileged \\\n  -p 3939:3939 \\\n  -v ${PCT_LICENSE}:/etc/rstudio-connect/license.lic \\\n  ${PCT_IMAGE}:${PCT_VERSION}\n```\n\nAccess Posit Connect at `http://localhost:3939`.\n\nSee the [Connect installation guide](https://docs.posit.co/connect/admin/getting-started/) for full setup instructions.\n\n### [Posit Package Manager](https://github.com/posit-dev/images-package-manager)\n\n```bash\nPPM_VERSION=\"2025.12.0\"\nPPM_IMAGE=\"ghcr.io/posit-dev/package-manager\"  # or docker.io/posit/package-manager\nPPM_LICENSE=\"/path/to/license.lic\"\ndocker run -d \\\n  --name package-manager \\\n  -p 4242:4242 \\\n  -v ${PPM_LICENSE}:/etc/rstudio-pm/license.lic \\\n  ${PPM_IMAGE}:${PPM_VERSION}\n```\n\nAccess Package Manager at `http://localhost:4242`.\n\nSee the [Package Manager installation guide](https://docs.posit.co/rspm/admin/getting-started/installation/) for full setup instructions.\n\n### [Posit Workbench](https://github.com/posit-dev/images-workbench)\n\n```bash\nPWB_VERSION=\"2026.01.1\"\nPWB_IMAGE=\"ghcr.io/posit-dev/workbench\"  # or docker.io/posit/workbench\nPWB_LICENSE=\"/path/to/license.lic\"\ndocker run -d \\\n  --name workbench \\\n  -p 8787:8787 \\\n  -e PWB_TESTUSER=posit \\\n  -e PWB_TESTUSER_PASSWD=posit \\\n  -v ${PWB_LICENSE}:/etc/rstudio-server/license.lic \\\n  ${PWB_IMAGE}:${PWB_VERSION}\n```\n\nAccess Workbench at `http://localhost:8787`. Log in with username `posit` and password `posit`.\n\nSee the [Workbench installation guide](https://docs.posit.co/ide/server-pro/getting_started/installation/) for full setup instructions.\n\nA [product license](https://docs.posit.co/licensing/licensing-faq.html) is required for each product. Posit recommends license file activation.\n\n## Images\n\n### [Posit Connect](https://github.com/posit-dev/images-connect)\n\n| Image | Docker Hub | GitHub Container Registry |\n|-------|------------|---------------------------|\n| `connect` | [`docker.io/posit/connect`](https://hub.docker.com/r/posit/connect) | [`ghcr.io/posit-dev/connect`](https://github.com/posit-dev/images-connect/pkgs/container/connect) |\n| `connect-content` | [`docker.io/posit/connect-content`](https://hub.docker.com/r/posit/connect-content) | [`ghcr.io/posit-dev/connect-content`](https://github.com/posit-dev/images-connect/pkgs/container/connect-content) |\n| `connect-content-init` | [`docker.io/posit/connect-content-init`](https://hub.docker.com/r/posit/connect-content-init) | [`ghcr.io/posit-dev/connect-content-init`](https://github.com/posit-dev/images-connect/pkgs/container/connect-content-init) |\n\n### [Posit Package Manager](https://github.com/posit-dev/images-package-manager)\n\n| Image | Docker Hub | GitHub Container Registry |\n|-------|------------|---------------------------|\n| `package-manager` | [`docker.io/posit/package-manager`](https://hub.docker.com/r/posit/package-manager) | [`ghcr.io/posit-dev/package-manager`](https://github.com/posit-dev/images-package-manager/pkgs/container/package-manager) |\n\n### [Posit Workbench](https://github.com/posit-dev/images-workbench)\n\n| Image | Docker Hub | GitHub Container Registry |\n|-------|------------|---------------------------|\n| `workbench` | [`docker.io/posit/workbench`](https://hub.docker.com/r/posit/workbench) | [`ghcr.io/posit-dev/workbench`](https://github.com/posit-dev/images-workbench/pkgs/container/workbench) |\n| `workbench-session` | [`docker.io/posit/workbench-session`](https://hub.docker.com/r/posit/workbench-session) | [`ghcr.io/posit-dev/workbench-session`](https://github.com/posit-dev/images-workbench/pkgs/container/workbench-session) |\n| `workbench-session-init` | [`docker.io/posit/workbench-session-init`](https://hub.docker.com/r/posit/workbench-session-init) | [`ghcr.io/posit-dev/workbench-session-init`](https://github.com/posit-dev/images-workbench/pkgs/container/workbench-session-init) |\n| `workbench-positron-init` | [`docker.io/posit/workbench-positron-init`](https://hub.docker.com/r/posit/workbench-positron-init) | [`ghcr.io/posit-dev/workbench-positron-init`](https://github.com/posit-dev/images-workbench/pkgs/container/workbench-positron-init) |\n\n## Deploying on Kubernetes\n\nThese images work with the [Posit Helm charts](https://docs.posit.co/helm/) for Kubernetes deployments. See each product repository for Helm values and deployment instructions:\n\n- [Connect Helm deployment](https://github.com/posit-dev/images-connect#deploying-on-kubernetes)\n- [Package Manager Helm deployment](https://github.com/posit-dev/images-package-manager#deploying-on-kubernetes)\n- [Workbench Helm deployment](https://github.com/posit-dev/images-workbench#deploying-on-kubernetes)\n\n## Image Variants\n\n| Variant | Suffix | Description |\n|---------|--------|-------------|\n| Standard | `-std` | Includes R, Python, and Quarto. Runs out of the box. |\n| Minimal | `-min` | Base image for custom builds. Will not run as-is. |\n\nFor examples of extending Minimal base images, see the [extending examples](https://github.com/posit-dev/images-examples/tree/main/extending).\n\n## Image Tag Format\n\nUbuntu 24.04 is the default OS for all images.\n\n- `{version}` — Latest OS, standard variant (e.g., `2026.02.0`)\n- `{version}-{os}` — Explicit OS, standard variant (e.g., `2026.02.0-ubuntu-24.04`)\n- `{version}-{os}-{variant}` — Explicit OS and variant (e.g., `2026.02.0-ubuntu-24.04-std`)\n- `latest` — Latest version, default OS, standard variant\n- **Content/session images**: `R{r_version}-python{python_version}-{os}` (e.g., `R4.5.2-python3.14.3-ubuntu-24.04`)\n\n## Registries\n\n- Docker Hub: [`posit`](https://hub.docker.com/u/posit)\n- GitHub Container Registry: [`posit-dev`](https://github.com/orgs/posit-dev/packages)\n\n## Code Repositories\n\n### Image Definitions\n\n| Repository | Description |\n|------------|-------------|\n| [images-connect](https://github.com/posit-dev/images-connect) | Posit Connect Container Images |\n| [images-package-manager](https://github.com/posit-dev/images-package-manager) | Posit Package Manager Container Images |\n| [images-workbench](https://github.com/posit-dev/images-workbench) | Posit Workbench Container Images |\n\n### Examples and Tooling\n\n| Repository | Description |\n|------------|-------------|\n| [images](https://github.com/posit-dev/images) | Posit Container Image Meta Repository |\n| [images-examples](https://github.com/posit-dev/images-examples) | Examples for using and extending Posit Container Images |\n| [images-shared](https://github.com/posit-dev/images-shared) | Shared Tooling for Container Images |\n\n## Shared Tooling\n\nAll product image repositories are built using shared tooling from the [images-shared](https://github.com/posit-dev/images-shared) repository:\n\n- [Bakery CLI](https://github.com/posit-dev/images-shared/tree/main/posit-bakery) — Manages matrixed container image builds with variant support (Standard `std` / Minimal `min`), version management, and parallel building via Docker Buildx Bake\n- [CI Workflows](https://github.com/posit-dev/images-shared/blob/main/CI.md) — Shared GitHub Actions workflows for building, testing, and pushing images\n- [Bakery Examples](https://github.com/posit-dev/images-examples/tree/main/bakery) — Step-by-step examples for building custom images with Bakery\n- [Extending Examples](https://github.com/posit-dev/images-examples/tree/main/extending) — Examples of extending Minimal base images with additional layers (Python, R, system dependencies, etc.)\n\n## Design Principles\n\n### Static Definitions\n\nEach `Containerfile` (or `Dockerfile`) is static and can be built using multiple backends  (e.g. [docker buildx bake](https://github.com/docker/buildx#installing), [podman](https://podman-desktop.io/docs/installation)). Containerfiles are generated from [Jinja2 templates](https://github.com/posit-dev/images-shared/blob/main/posit-bakery/TEMPLATING.md) using Bakery, which resolves [dependency versions][bakery-dependency] and renders templates into build-ready files with no runtime logic.\n\n### Security\n\nRapidly address security concerns by supporting scanning and routinely rebuilding images for [all supported product versions](https://docs.posit.co/supported-versions/).\n\n### ARM Support\n\nWe are adding [multi-platform images](https://docs.docker.com/build/building/multi-platform/) as Posit rolls out support for ARM chipsets.\n\n[Package Manager](https://github.com/posit-dev/images-package-manager) now has [multi-platform images](https://github.com/orgs/posit-dev/packages/container/package/package-manager).\n\n### Extensibility\n\nA single [configuration file][bakery-configuration] (`bakery.yaml`) defines:\n\n| Property | Examples |\n|----------|----------|\n| [Images][bakery-image] | `connect`, `workbench`, `package-manager` |\n| [Versions][bakery-version] | `2024.12.0`, `2025.01.0` |\n| [Variants][bakery-variant] | Minimal (`min`), Standard (`std`) |\n| [Dependencies][bakery-dependency] | Python, R, Quarto |\n| [Operating system][bakery-os] | Ubuntu 24.04, Ubuntu 22.04 |\n| Platforms | `linux/amd64`, `linux/arm64` |\n| [Tags][bakery-tag] | `latest`, `2024.12.0-ubuntu2204` |\n| [Registries][bakery-registry] | Docker Hub, GHCR |\n\n## Share your Feedback\n\nWe invite you to join us on [GitHub Discussions](https://github.com/posit-dev/images/discussions) to ask questions and share feedback.\n\n## Code of Conduct\n\nWe expect all contributors to adhere to the project's [Code of Conduct](CODE_OF_CONDUCT.md) and create a positive and inclusive community.\n\n## License\n\nPosit Container Images and associated tooling are licensed under the [MIT License](LICENSE.md)\n\n[bakery-configuration]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#bakery-configuration\n[bakery-image]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#image\n[bakery-version]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#imageversion\n[bakery-variant]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#imagevariant\n[bakery-dependency]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#dependencyconstraint\n[bakery-os]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#imageversionos\n[bakery-tag]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#tagpattern\n[bakery-registry]: https://github.com/posit-dev/images-shared/blob/main/posit-bakery/CONFIGURATION.md#registry\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposit-dev%2Fimages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fposit-dev%2Fimages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposit-dev%2Fimages/lists"}