{"slug":"syncthing","tag":"v2.1.7-CE-ubuntu24.04-r2","current":true,"account":false,"tarball":"ReadyStack-syncthing-v2.1.7-CE-ubuntu24.04-r2.tar.gz","tarball_sha256":"b3cad9e4a463e6ca640a21dd9f1fc00d9b831a26db4c6aa6608ef26bed80ddd0","generated_at":"2026-10-29T19:24:26Z","dockerfile":"Dockerfile.offline.pinned","build_script":"BUILD_OFFLINE.sh","pins":{"upstream":{"repo":"https://github.com/syncthing/syncthing","ref":"v2.1.7","commit":"d6d0181f7d466381c4b39ec8fd944c364f939b32","url":"https://github.com/syncthing/syncthing/tree/d6d0181f7d466381c4b39ec8fd944c364f939b32"},"fetches":[{"kind":"git","url":"https://github.com/syncthing/syncthing","ref":"v2.1.7"}],"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":1792526078,"source_date_epoch_utc":"2026-10-20T19:54:38Z","target":{"image":"readystack/syncthing:v2.1.7-CE-ubuntu24.04-r2","image_manifest_digest":"sha256:41018e6c100e3c14eb410fae22c814174709c3846023858d7368ea50c3fae352","config_digest":"sha256:64b0ec7547496853619eeea6ef254cf0911e72c30641ecf74db627a456f051f8"},"checksummed_files":7063},"files":[{"path":"BASES.tsv","size":264,"sha256":"8d72027e2bc448d0c7ff3a900bfe648f1e4c9ec92a2beaa3f623ccffc48641b5","public":"full","lines":2,"url":"/api/recipe/syncthing/v2.1.7-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":978092,"sha256":"3563a30054b66c69db6db7bb7b25b157bffa95414c6edc5d3dadb7be1aa93ccc","public":"account","lines":7063},{"path":"DOCKERFILE_NAME.txt","size":26,"sha256":"9aadd1ede68e016a6f163c97befc5ff2fcdc8ebd4f84b108dba63cb195fa8c84","public":"full","lines":1,"url":"/api/recipe/syncthing/v2.1.7-CE-ubuntu24.04-r2/files/DOCKERFILE_NAME.txt","text":"Dockerfile.offline.pinned\n"},{"path":"Dockerfile","size":3460,"sha256":"764cf34f938da9d1f6c3ad55f55b84bf09c0e53a54e1a5b9828f598124616a76","public":"account","lines":37},{"path":"Dockerfile.offline","size":3460,"sha256":"764cf34f938da9d1f6c3ad55f55b84bf09c0e53a54e1a5b9828f598124616a76","public":"account","lines":37},{"path":"Dockerfile.offline.pinned","size":3460,"sha256":"764cf34f938da9d1f6c3ad55f55b84bf09c0e53a54e1a5b9828f598124616a76","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_syncthing\nWORKDIR /src\nCOPY vendored/syncthing-src/ .\nENV CGO_ENABLED=0 GOTOOLCHAIN=local GOWORK=off GOFLAGS=\"-mod=vendor -buildvcs=false\" GOPROXY=off SOURCE_DATE_EPOCH=1792526078\nRUN go build -trimpath -tags \"noupgrade\" -ldflags='-s -w -X github.com/syncthing/syncthing/lib/build.Version=v2.1.7 -X github.com/syncthing/syncthing/lib/build.Tags=noupgrade' -o /syncthing ./cmd/syncthing && /syncthing --version\nFROM ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c\nENV DEBIAN_FRONTEND=noninteractive STHOMEDIR=/var/syncthing/config STGUIADDRESS=0.0.0.0:8384 HOME=/var/syncthing\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=1792526078\nRUN groupadd -r syncthing && useradd -r -g syncthing -d /var/syncthing -m syncthing && \\\n    mkdir -p /var/syncthing /var/syncthing/config /var/syncthing/config/index-v2 && chown -R syncthing:syncthing /var/syncthing /var/syncthing/config /var/syncthing/config/index-v2 && \\\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_syncthing /syncthing /usr/bin/syncthing","lines_shown":24,"lines_total":37}},{"path":"Dockerfile.vendor","size":1870,"sha256":"0a9511b172769e7905e5e72baa0d5e5a3825de226f39dd616057c0b52a4bad61","public":"account","lines":21},{"path":"MANIFEST.txt","size":497838,"sha256":"9d925904eb3e88a174131aebeb68050e2f00f66073e6818a9cc3ef9fee40d444","public":"account","lines":7065},{"path":"SOURCE_DATE_EPOCH.txt","size":11,"sha256":"1c4747caff8ab830d6f72c69beb1d1ac1a1c4abf405e04a15bae1e702073ba7c","public":"full","lines":1,"url":"/api/recipe/syncthing/v2.1.7-CE-ubuntu24.04-r2/files/SOURCE_DATE_EPOCH.txt","text":"1792526078\n"},{"path":"TARGET_DIGEST.txt","size":295,"sha256":"498da34c67d66cd62f3042b1a893475af79cb8595a9e1ae8bd2f362518297140","public":"full","lines":6,"url":"/api/recipe/syncthing/v2.1.7-CE-ubuntu24.04-r2/files/TARGET_DIGEST.txt","text":"image_manifest_digest=sha256:41018e6c100e3c14eb410fae22c814174709c3846023858d7368ea50c3fae352\nconfig_digest=sha256:64b0ec7547496853619eeea6ef254cf0911e72c30641ecf74db627a456f051f8\ntag=readystack/syncthing:v2.1.7-CE-ubuntu24.04-r2\nprobe_port=8384\nprobe_path=/rest/noauth/health\nprobe_timeout=180\n"},{"path":"VERIFY_OFFLINE.sh","size":7331,"sha256":"8b036b1f9a7f7deb4dbab14ef6b7c40622d2820904e891b8845ba3580e924506","public":"account","lines":128},{"path":"docs/PROVENANCE.md","size":1705,"sha256":"3874088938ac02205d4c03024b72084087b7914bab30927af6271e0e12a78773","public":"account","lines":28},{"path":"docs/REBUILD.md","size":5109,"sha256":"416ef34d06a30c4a233518d26e7ee655eac1fd2c0c2d64b5fda5145a433158e2","public":"account","lines":57},{"path":"docs/VERIFY.md","size":1970,"sha256":"c136465c3e24825d887490ea029950f52c629ce24a3259e5795d90c771118db1","public":"account","lines":34},{"path":"docs/provenance/BASE_IMAGE_DIGESTS.lock","size":75,"sha256":"477734fb9ed3cb1bc3f4ab9e9e0491b30dcb7e910464fa19578fc03ca3d6133b","public":"full","lines":2,"url":"/api/recipe/syncthing/v2.1.7-CE-ubuntu24.04-r2/files/docs/provenance/BASE_IMAGE_DIGESTS.lock","text":"# base images for syncthing (resolve at build_kit)\ngolang:1.26.10-bookworm\n"},{"path":"docs/provenance/BUILD_RECIPE.json","size":3871,"sha256":"14df07f2eb8d30cabd538fb22a5f9044a45f05808f0af21cbe90fdc6ff6f3bb0","public":"account","lines":45,"redactions":[{"line":36,"kind":"internal host"}],"kit_sha256":"a8d3efa1ea8f3da1a3ae22da20dd851bd3bcaa4cff1a0582f5d1824d247a133d"},{"path":"docs/provenance/CUSTODY_INPUTS.json","size":653,"sha256":"5388f5364752a05c943de82e1c422874741f047b8bfeae8838bf970cb073c601","public":"account","lines":17},{"path":"docs/provenance/SOURCE_FILE_MANIFEST.json","size":36302,"sha256":"58426938b507132ebd4e31dc54b7a9f96cb176e0b79e046fc43f7277ce6e18be","public":"account","lines":952},{"path":"docs/provenance/SOURCE_TREE_HASH.json","size":310,"sha256":"cb3191746b1cfd7f6de34176eac5a683c1b6a1ba60583b88bc6fb07401bf4b30","public":"full","lines":9,"url":"/api/recipe/syncthing/v2.1.7-CE-ubuntu24.04-r2/files/docs/provenance/SOURCE_TREE_HASH.json","text":"{\n  \"schema\": \"kitforge.source_tree_hash.v1\",\n  \"slug\": \"syncthing\",\n  \"repo\": \"https://github.com/syncthing/syncthing\",\n  \"ref\": \"v2.1.7\",\n  \"commit\": \"d6d0181f7d466381c4b39ec8fd944c364f939b32\",\n  \"tree_listing_sha256\": \"29190459a024f777fe48e236b121a638068ac992896a82baae8543a2d669912d\",\n  \"file_count\": 945\n}"},{"path":"docs/provenance/SYSTEM_PINNING.lock","size":36,"sha256":"3342957f888a3afbbfff7bd26dd4cead6662104fe30152ea75497941150c81dd","public":"account","lines":4},{"path":"docs/provenance/TOOLCHAIN.lock","size":3954,"sha256":"63d1456fa58a970cbade18b06f87f7cb0a2a632a79173a6930cae549a586864e","public":"account","lines":101},{"path":"readystack-entrypoint.sh","size":1112,"sha256":"c4099cdedbeb7f5afe49e4c2f5b9033303b3c42229305bd6943f6c629a9095fc","public":"account","lines":20},{"path":"rebuild.json","size":1450,"sha256":"d2df3c2d793ea1afcfc5c53b2b57fc5139f04b3769a31ddb30e82c44cfbf374d","public":"account","lines":38},{"path":"toolchain/BUILDKIT_TAG.txt","size":22,"sha256":"fcd530eeb02b063d2f047adad6eef896422a8e8d558513e5f09b2a262be32573","public":"full","lines":1,"url":"/api/recipe/syncthing/v2.1.7-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":997,"bytes":16691453},"toolchain":{"files":1,"bytes":111529472},"vendored":{"files":6026,"bytes":196945671}},"links":{"page":"https://readystack.dev/products/syncthing/recipe","signup":"https://readystack.dev/login.html?create=1&next=%2Fproducts%2Fsyncthing%2Frecipe","kit":"https://readystack.dev/buy.html?product=syncthing"}}