Files

Release packaging quickstart

Prereqs

  • Node build already run (pikit-web built) if you want production assets. Dev assets also work but will be larger.
  • tar, sha256sum, rsync available (default on DietPi/Debian).

Build a release bundle

./tools/release/make-release.sh <version> <base_download_url>
# example
./tools/release/make-release.sh 0.1.0 https://git.44r0n.cc/44r0n7/pi-kit/releases/download/v0.1.0

Outputs (in out/releases/):

  • pikit-<version>.tar.gz
  • manifest.json with the SHA256 of the bundle and the download URL.

Publish

  1. Create a release in Gitea for tag v<version>.
  2. Upload both pikit-<version>.tar.gz and manifest.json as release assets.
  3. Ensure the base download URL in the manifest matches where the bundle is hosted.

Device configuration (optional override)

The API uses PIKIT_MANIFEST_URL to fetch manifest.json. Default:

https://git.44r0n.cc/44r0n7/pi-kit/releases/latest/download/manifest.json

Set an override in the environment or a systemd drop-in for pikit-api.service:

[Service]
Environment=PIKIT_MANIFEST_URL=https://git.44r0n.cc/44r0n7/pi-kit/releases/download/v0.1.0/manifest.json

Whats inside the bundle

  • pikit-web/ (built static assets)
  • pikit-api.py + pikit_api/ package
  • optional helper scripts (e.g., set_ready.sh, start-codex.sh, pikit-services.json if present)

Notes

  • The updater verifies the bundle SHA256 from manifest.json before installing.
  • Backups of current web/api are stored in /var/backups/pikit/<timestamp>/ before deployment.