{"slug":"uptimekuma","tag":"2.5.8-CE-ubuntu24.04-r2","current":true,"account":false,"tarball":"ReadyStack-uptimekuma-2.5.8-CE-ubuntu24.04-r2.tar.gz","tarball_sha256":"045c795d8b6901c17c640e3886db85390c646ed8c1f063bc8fad2f4a88c4b65f","generated_at":"2026-10-29T19:25:01Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/louislam/uptime-kuma","ref":"2.5.8","commit":"0bd417b981d7dd4e7a0ecaa5afcd90c274d74eca","url":"https://github.com/louislam/uptime-kuma/tree/0bd417b981d7dd4e7a0ecaa5afcd90c274d74eca"},"fetches":[{"kind":"git","url":"https://github.com/louislam/uptime-kuma","ref":"2.5.8"},{"kind":"http","url":"https://nodejs.org/dist/v22.23.4/node-v22.23.4-linux-x64.tar.gz"},{"kind":"http","url":"https://nodejs.org/dist/v22.23.4/SHASUMS256.txt"},{"kind":"http","url":"https://nodejs.org/dist/v22.23.4/SHASUMS256.txt.sig"}],"bases":[{"image":"ubuntu:24.04","digest":"sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852"}],"toolchain":{"buildkit":"moby/buildkit:v0.31.2","buildkit_image_digest":"sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0","builder_images":["ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852"]},"build_method":"source-rebuild-node","source_date_epoch":1793034079,"source_date_epoch_utc":"2026-10-26T17:01:19Z","target":{"image":"readystack/uptimekuma:2.5.8-CE-ubuntu24.04-r2","image_manifest_digest":"sha256:2e75c5d418ba09df94cc74601066cf8523a5c44557505f010e6f1e4326c5cd03","config_digest":"sha256:d8b173c7fd5fd57f2004e3257523813ec210403105cc6be25357452ac70e99e6"},"checksummed_files":29254},"files":[{"path":"BASES.tsv","size":121,"sha256":"63822800fc2b89e7b38d1fbaaad6f0c80c9a91a0176ebe7d935c08b0cdd6b4fa","public":"full","lines":1,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/BASES.tsv","text":"ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852\tbases/ubuntu_24.04_fe81560990fa.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":4442944,"sha256":"4ff2496730853b7bad1c254003f281eb6b22d6b4dffff63f62d2e1afe08601bf","public":"account","lines":29254},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":3362,"sha256":"3a99713ce53d029fc319b57ff358f68ba904ec56e804482ac6b79855ce16c663","public":"account","lines":39},{"path":"Dockerfile.offline","size":3362,"sha256":"3a99713ce53d029fc319b57ff358f68ba904ec56e804482ac6b79855ce16c663","public":"account","lines":39},{"path":"Dockerfile.offline.pinned","size":3362,"sha256":"3a99713ce53d029fc319b57ff358f68ba904ec56e804482ac6b79855ce16c663","public":"preview","lines":39,"preview":{"text":"# GENERATED L-009 hermetic Node build (--network=none, SBOM+SLSA-attestation-producing).\n# Pinned base from BASE_IMAGE_DIGESTS.lock; vendored resolved /app tree + debs from Dockerfile.vendor.\n# NO install verb offline — the fully-resolved, prod-pruned node_modules is COPYd verbatim.\nFROM ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 AS nodedist\nCOPY vendored/node/ /nodedist/\nRUN cd /nodedist && echo 'b8492284c76a54baf58d61668dd0e41ee0fc98adabf9503d30f05d08f55b4406  node-v22.23.4-linux-x64.tar.gz' | sha256sum -c - && \\\n    mkdir -p /opt/node && tar -xzf node-v22.23.4-linux-x64.tar.gz -C /opt/node --strip-components=1 --no-same-owner && \\\n    mkdir -p /opt/node/share/doc/nodejs && mv /opt/node/LICENSE /opt/node/share/doc/nodejs/LICENSE && \\\n    rm -rf /opt/node/CHANGELOG.md /opt/node/README.md /opt/node/lib/node_modules/npm /opt/node/lib/node_modules/corepack /opt/node/bin/npm /opt/node/bin/npx /opt/node/bin/corepack\nFROM ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852\nENV DEBIAN_FRONTEND=noninteractive NODE_ENV=production UPTIME_KUMA_IS_CONTAINER=1 DATA_DIR=/app/data UPTIME_KUMA_HOST=0.0.0.0 UPTIME_KUMA_PORT=3001\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\nCOPY --from=nodedist /opt/node/ /usr/local/\nARG SOURCE_DATE_EPOCH=1793034079\nRUN node --version && groupadd -r uptimekuma && useradd -r -g uptimekuma -d /app -m uptimekuma && \\\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 && \\","lines_shown":24,"lines_total":39}},{"path":"Dockerfile.vendor","size":4472,"sha256":"0c04cb46bf4a737d87c24d4d59b3c49d5e1ebb278d5e64d99f198caf2da8286f","public":"account","lines":38},{"path":"MANIFEST.txt","size":2453702,"sha256":"cddbbfa856d227fd8f0c140ba6db684000b1261f3501041757eb4705aa5fa698","public":"account","lines":29256},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"bd5e16a45745c919c1c4f5ba99d9d02ebcda4c3e62352c454d77e32d4e229d08","public":"full","lines":1,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/SOURCE_DATE_EPOCH.txt","text":"1793034079\n"},{"path":"TARGET_DIGEST.txt","size":291,"sha256":"12cee0917dd79e62db626cf394609d95b3c9782cabf0f5a2dc231e720aa28cbf","public":"full","lines":6,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:2e75c5d418ba09df94cc74601066cf8523a5c44557505f010e6f1e4326c5cd03\nconfig_digest=sha256:d8b173c7fd5fd57f2004e3257523813ec210403105cc6be25357452ac70e99e6\ntag=readystack/uptimekuma:2.5.8-CE-ubuntu24.04-r2\nprobe_port=3001\nprobe_path=/api/entry-page\nprobe_timeout=180\n"},{"path":"VERIFY_OFFLINE.sh","size":10153,"sha256":"3e8184ea230cfd8f41f977e26be6bf7bd03112c396c517837ce0c7de4f7399dd","public":"account","lines":165},{"path":"docs/PROVENANCE.md","size":1705,"sha256":"9e991913b9ddc9458abffba52bed3b95f5cd090752ed863246d8093b46bd7ae6","public":"account","lines":28},{"path":"docs/REBUILD.md","size":5174,"sha256":"48f6c968e700fe461eeb29103da82e78638bf629d9754172b5098a05db9d34d8","public":"account","lines":57},{"path":"docs/VERIFY.md","size":1972,"sha256":"618f7c23d83240b4109ca3eaa69fed76ec91796f313e4520b58357bbbfe2d479","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":53,"sha256":"b9e62506c5357f9504795b01e9c8dab3c53fa7e7cd9b9dab754dd1211244756d","public":"full","lines":2,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for uptimekuma (resolve at build_kit)\n\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":2836,"sha256":"c2df245b19367def1f15658f7b52c34c65177efde98a20a5e20d2ed7212fd936","public":"account","lines":50},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":654,"sha256":"ea126c6041835ef0ac88b04041cdfed99b4a9aa43a1ced1c7c5c6be2720b3ec2","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":34247,"sha256":"90ac200454015d00d7a956ea01caebb05a12280fd8238d0ec4e4ef2bd540cd66","public":"account","lines":806},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":311,"sha256":"d17efc8e6f95fdb16dfe29e3c8b2c65bee9d5049d9191444162ef7617f7cc9ce","public":"full","lines":9,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"uptimekuma\",\n  \"repo\": \"https://github.com/louislam/uptime-kuma\",\n  \"ref\": \"2.5.8\",\n  \"commit\": \"0bd417b981d7dd4e7a0ecaa5afcd90c274d74eca\",\n  \"tree_listing_sha256\": \"caedf62b0d976abc424e69d76dd5ffd7fe585a610727ae300b9c5bbc44bd84f1\",\n  \"file_count\": 799\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":51,"sha256":"f5414a420fd67741d9448dc05d6a29741068238def4f0d2aec266ba8038b659f","public":"account","lines":5},{"path":"docs/provenance/TOOLCHAIN.lock","size":8342,"sha256":"4cd7d557be35d92a9f21adc84691bb5317cbaae8aa4883fd69fc6bc1dd603f7e","public":"account","lines":150},{"path":"rebuild.json","size":1165,"sha256":"883bc336e043f5aca3bbbc28573c497031d41d63cd1b2a73dda5f93abb346359","public":"account","lines":33},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/uptimekuma/2.5.8-CE-ubuntu24.04-r2/files/toolchain/BUILDKIT_TAG.txt","text":"moby/buildkit:v0.31.2\n"}],"skipped":[],"kit_adds":{"bases":{"files":5,"bytes":29771169},"docs":{"files":850,"bytes":13287096},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":28376,"bytes":255540385}},"links":{"page":"https://readystack.dev/products/uptimekuma/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fuptimekuma%2Frecipe","kit":"https://readystack.dev/buy.html?product=uptimekuma"}}