{"slug":"coder","tag":"v2.38.3-CE-ubuntu24.04-r2","current":true,"account":false,"tarball":"ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz","tarball_sha256":"a86759070f939bde1faac61ce267c74587a1a65de650d4c2c39f5c9f404d4af1","generated_at":"2026-10-29T19:33:08Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/coder/coder","ref":"v2.38.3","commit":"5bb296e4d5e55e7de39e0d1ab89493e205d6c4ac","url":"https://github.com/coder/coder/tree/5bb296e4d5e55e7de39e0d1ab89493e205d6c4ac"},"fetches":[{"kind":"git","url":"https://github.com/coder/coder","ref":"v2.38.3"},{"kind":"http","url":"https://deb.nodesource.com/setup_22.x"}],"bases":[{"image":"golang:1.26.10-bookworm","digest":"sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af"},{"image":"ubuntu:24.04","digest":"sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c"}],"toolchain":{"buildkit":"moby/buildkit:v0.31.2","buildkit_image_digest":"sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0","builder_images":["golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af"]},"build_method":"source-rebuild-go","source_date_epoch":1793058723,"source_date_epoch_utc":"2026-10-26T23:52:03Z","target":{"image":"readystack/coder:v2.38.3-CE-ubuntu24.04-r2","image_manifest_digest":"sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679","config_digest":"sha256:4a11919f14549bcb339c10e3ef46462e6db94b3e5f1d54f141157b516d4cc25c"},"checksummed_files":116209},"files":[{"path":"BASES.tsv","size":264,"sha256":"8d72027e2bc448d0c7ff3a900bfe648f1e4c9ec92a2beaa3f623ccffc48641b5","public":"full","lines":2,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/BASES.tsv","text":"golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af\tbases/golang_1.26.10-bookworm_632dff735179.oci\nubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c\tbases/ubuntu_24.04_24737cef17f4.oci\n"},{"path":"BUILD_OFFLINE.sh","size":6738,"sha256":"83299978ccd02a0b69e163d760da1211b401bbfa35a3184ca674dc37ff876732","public":"preview","lines":125,"preview":{"text":"#!/usr/bin/env bash\n# =============================================================================\n# ReadyStack — offline reproducible rebuild.\n#\n# Rebuilds this product's image from THIS ARCHIVE ALONE, with no network access\n# of any kind, and prints the resulting linux/amd64 image-manifest digest.\n# Run ./VERIFY_OFFLINE.sh afterwards to assert it equals the published digest.\n#\n# Requirements: linux/amd64 Docker host, docker buildx >= 0.30, jq, tar.\n# No git, no registry access, no additional tooling.\n#\n#   ./BUILD_OFFLINE.sh                the rebuild (OCI image + a docker-loadable copy)\n#   ./BUILD_OFFLINE.sh --provenance   the same rebuild with SLSA v1 build provenance (mode=max) attached to the OCI\n#                                     image, generated by BuildKit, not by any build step. Run on your own hardened,\n#                                     isolated build platform and sign that provenance with a key the build cannot\n#                                     reach, and the result meets SLSA Build Level 3 (see REBUILD.md). The image\n#                                     digest is the same either way.\n# =============================================================================\nset -euo pipefail\nPROVENANCE=0\nfor arg in \"$@\"; do\n  case \"$arg\" in\n    --provenance) PROVENANCE=1 ;;\n    -h|--help) sed -n '2,20p' \"$0\"; exit 0 ;;","lines_shown":24,"lines_total":125}},{"path":"CHECKSUMS.sha256","size":19818977,"sha256":"626d823fdc31b0b5c07bd379547aebb84ec795dbd5760b838a98982c94c063cc","public":"account","lines":116209},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":3685,"sha256":"9b7bf260b58435950dd3690b78a4ef4e9d75425daabae1a006cf66cbb4297b1c","public":"account","lines":37},{"path":"Dockerfile.offline","size":3685,"sha256":"9b7bf260b58435950dd3690b78a4ef4e9d75425daabae1a006cf66cbb4297b1c","public":"account","lines":37},{"path":"Dockerfile.offline.pinned","size":3685,"sha256":"9b7bf260b58435950dd3690b78a4ef4e9d75425daabae1a006cf66cbb4297b1c","public":"preview","lines":37,"preview":{"text":"# GENERATED L-009 hermetic build (--network=none, SBOM+SLSA-attestation-producing).\n# Pinned bases from BASE_IMAGE_DIGESTS.lock; vendored Go tree + debs from Dockerfile.vendor.\nFROM golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af AS build_coder\nWORKDIR /src\nCOPY vendored/coder-src/ .\nENV CGO_ENABLED=0 GOTOOLCHAIN=local GOWORK=off GOFLAGS=\"-mod=vendor -buildvcs=false\" GOPROXY=off SOURCE_DATE_EPOCH=1793058723\nRUN go build -trimpath -tags \"embed ts_omit_aws ts_omit_bird ts_omit_tap ts_omit_kube\" -ldflags='-s -w -X github.com/coder/coder/v2/buildinfo.tag=2.38.3 -X github.com/coder/coder/v2/buildinfo.agpl=true' -o /coder ./cmd/coder && /coder version\nFROM ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c\nENV DEBIAN_FRONTEND=noninteractive HOME=/home/coder CODER_HTTP_ADDRESS=0.0.0.0:3000 CODER_TELEMETRY_ENABLE=false\nRUN --mount=type=bind,source=vendored/debs,target=/tmp/debs \\\n    set --; for f in /tmp/debs/*.deb; do [ -e \"$f\" ] && set -- \"$@\" \"$f\"; done; \\\n    for pass in 1 2 3 4 5; do [ $# -eq 0 ] || dpkg -i --skip-same-version \"$@\" >/dev/null 2>&1 && break; done; \\\n    dpkg --configure -a && bad= && for d in \"$@\"; do p=$(dpkg-deb -f \"$d\" Package) v=$(dpkg-deb -f \"$d\" Version); \\\n      case \"$(dpkg-query -W -f='${Version} ${db:Status-Abbrev}' \"$p\" 2>/dev/null)\" in \"$v ii\"*) ;; *) bad=\"$bad $p=$v\" ;; esac; done && \\\n    { [ -z \"$bad\" ] || { echo \"vendored debs not installed at their vendored version:$bad\" >&2; false; }; } && \\\n    rm -rf /var/lib/apt/lists/* \\\n           /var/log/dpkg.log /var/log/alternatives.log /var/log/apt /var/cache/ldconfig/aux-cache /var/cache/fontconfig\nARG SOURCE_DATE_EPOCH=1793058723\nRUN groupadd -r coder && useradd -r -g coder -d /home/coder -m coder && \\\n    mkdir -p /home/coder && chown -R coder:coder /home/coder && \\\n    : \"${SOURCE_DATE_EPOCH:?SOURCE_DATE_EPOCH must be set for a reproducible build}\" && \\\n    sed -ri \"s/^([^:]*:[^:]*):[0-9]*:/\\1:$((SOURCE_DATE_EPOCH/86400)):/\" /etc/shadow && \\\n    rm -f /etc/passwd- /etc/shadow- /etc/group- /etc/gshadow-\nCOPY --from=build_coder /coder /usr/local/bin/coder","lines_shown":24,"lines_total":37}},{"path":"Dockerfile.vendor","size":2489,"sha256":"0a8ebfbda0e67dfc67aa42b772eec31458a07ec8e7fa8e6dd046d7027985b77d","public":"account","lines":26},{"path":"MANIFEST.txt","size":11916795,"sha256":"e173ab707a9fb8020621d86ba3a0d1fd80c3aac05e66f3dd1d728af4ca858fd4","public":"account","lines":116211},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"4a5fa943dc83eca27eb4989ea5d6a17101821b03e2ff12fd943a8f12bfda9a93","public":"full","lines":1,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/SOURCE_DATE_EPOCH.txt","text":"1793058723\n"},{"path":"TARGET_DIGEST.txt","size":428,"sha256":"aec9e08de4665807c502685148d8a655cec06ca8fc88a356b2036a326ce2da3f","public":"full","lines":8,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679\nconfig_digest=sha256:4a11919f14549bcb339c10e3ef46462e6db94b3e5f1d54f141157b516d4cc25c\ntag=readystack/coder:v2.38.3-CE-ubuntu24.04-r2\nprobe_port=3000\nprobe_path=/healthz\nprobe_timeout=300\nverify_boot=skip\nverify_boot_reason=this image needs pg (not part of this archive); boot it with your own services as the admin handbook describes\n"},{"path":"VERIFY_OFFLINE.sh","size":8100,"sha256":"dc0b5cd5c104a5da5c3f4e379e8f3d2eeffa307c8545067925bb4317a722b0b7","public":"account","lines":138},{"path":"docs/PROVENANCE.md","size":1691,"sha256":"5a1a833a0cb9936bff0de510beea1a81822e6977c0e5e0ad70392668be339e02","public":"account","lines":28},{"path":"docs/REBUILD.md","size":5117,"sha256":"8ea84508601600c5646cf5eb25e44cd21867e59dee704289805156a588a4d7cb","public":"account","lines":59},{"path":"docs/VERIFY.md","size":1951,"sha256":"82cd6db2feee9633dad129ad2ae026d227a6dc0cf90f2c20e138d0f342415f44","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":71,"sha256":"5b86187c32ea814981d58e64adac93fc82a20b040c62d8ed0c34c8ce25bc9d1e","public":"full","lines":2,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for coder (resolve at build_kit)\ngolang:1.26.10-bookworm\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":5761,"sha256":"4e144fc3f61d43e0244dc75e933fca9e067a0d3e61ecb6d61d041dfcb00c4c44","public":"account","lines":61},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":694,"sha256":"f9f08c236a3eef605cc7f8bb4f2e0e31e59e1f257ac72d8b7bcc17ab42b65d2a","public":"account","lines":20},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":274239,"sha256":"86698bae2cce633cd1f8533d3317e483dfb28b369edaee4c6b9c98e4694211c0","public":"account","lines":5007},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":301,"sha256":"6f7cb1b443dbb1995097be59c608b394b565eb305b564fd549e906bfafb0a148","public":"full","lines":9,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"coder\",\n  \"repo\": \"https://github.com/coder/coder\",\n  \"ref\": \"v2.38.3\",\n  \"commit\": \"5bb296e4d5e55e7de39e0d1ab89493e205d6c4ac\",\n  \"tree_listing_sha256\": \"5115fe51d3636ef099aa978f31de343cd3dbafdeb77ecf9d471005836b38954d\",\n  \"file_count\": 12340\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":47,"sha256":"5d069a5705dc95037e6260a531ac6aadfaa3aaf6bf3723d1159b5f9e5a98222c","public":"account","lines":5},{"path":"docs/provenance/TOOLCHAIN.lock","size":5024,"sha256":"b8b2ad8a753605aa5fdf7eca4f897a80bb024fbc1265d794e4de91fe47089d0a","public":"account","lines":115},{"path":"rebuild.json","size":1493,"sha256":"52845879a4bb5278fce3e8813704b4e9b88d5d49d5eee71927374895f9dec8aa","public":"account","lines":36},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/coder/v2.38.3-CE-ubuntu24.04-r2/files/toolchain/BUILDKIT_TAG.txt","text":"moby/buildkit:v0.31.2\n"}],"skipped":[],"kit_adds":{"bases":{"files":16,"bytes":326583068},"docs":{"files":12390,"bytes":180377609},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":92904,"bytes":1378255032}},"links":{"page":"https://readystack.dev/products/coder/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fcoder%2Frecipe","kit":"https://readystack.dev/buy.html?product=coder"}}