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,rsyncavailable (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.gzmanifest.jsonwith the SHA256 of the bundle and the download URL.
Publish
- Create a release in Gitea for tag
v<version>. - Upload both
pikit-<version>.tar.gzandmanifest.jsonas release assets. - 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
What’s 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.jsonif present)
Notes
- The updater verifies the bundle SHA256 from
manifest.jsonbefore installing. - Backups of current web/api are stored in
/var/backups/pikit/<timestamp>/before deployment.