SkateSpots/distribution
2026-10-30 23:17:54 +07:00
..
fdroiddata dist: point F-Droid recipe at splash-tracked source 2026-10-30 23:11:15 +07:00
README.md docs: make distribution Nostr-only, no external identities 2026-10-30 23:17:54 +07:00
SUBMISSION.md docs: add external store submission drafts 2026-10-30 23:04:13 +07:00

Distribution without GitHub

SkateSpots is published from a self-hosted Forgejo instance. No GitHub account is required.

Current release source

The APK is signed with the same key as the Zapstore build. Installing an F-Droid-signed build over it would require uninstalling SkateSpots and losing the local key/settings. Obtanium and direct APK updates keep the install.

Obtanium

Obtanium cannot use a Zapstore URL as a source. Use the self-hosted Forgejo release page instead:

  1. Open Obtanium → Add App.
  2. Paste: https://git.skate-spots.org/skatespots/SkateSpots/releases/latest
  3. If Obtanium does not recognise the self-hosted host, select Override Source → HTML.
  4. Set version extraction if desired: SkateSpots-([0-9.]+)\.apk, match group 1.

The release page contains exactly one .apk, so Obtanium can follow the latest release without a custom store listing.

F-Droid family

Self-hosted F-Droid repo (live now)

A signed third-party F-Droid repository is published here:

  • Repo: https://fdroid.skate-spots.org/repo
  • App ID: org.skatespots.app
  • Repo signing fingerprint: 88:B1:71:1C:24:02:89:FB:B2:A7:FC:C1:B3:1F:BB:9D:60:F5:7F:19:18:E0:3D:62:2D:35:F2:3D:E1:84:46:75

Users can add this URL in F-Droid, or add it in Obtanium as an F-Droid Third Party Repo. This is not F-Droid main: it is a self-hosted, signed repository of the developer-signed APK. It keeps the existing install and signing key.

The repository metadata and APK are served from the relay host. The repo index is signed with a repository key stored on that host; the APK itself keeps the SkateSpots developer signature.

No external store identities

Owner decision: distribution stays self-hosted and Nostr-based. No GitLab, Codeberg, GitHub, email or F-Droid-main accounts are created or requested.

F-Droid main and IzzyOnDroid both require external identities and review, so they are intentionally out of scope. The self-hosted repo above is the supported F-Droid-family channel.

distribution/fdroiddata/ and fastlane/ are kept as an unused technical reference only. A fresh local clone at 5ebf741 built the unsigned APK through the recipe's npm ci → android:init → android:sync → assembleRelease path, but the recipe must not be submitted.

Release checklist

  1. npm test

  2. scripts/release.sh patch --yes --deploy (Zapstore + web)

  3. Push the release tag and main to Forgejo.

  4. Upload the APK through the helper: FORGEJO_TOKEN=... scripts/publish-forgejo.sh <version> (or set FORGEJO_TOKEN before release.sh; the APK upload is then automatic)

  5. Copy the signed APK into the F-Droid repo on the relay host, add a metadata/org.skatespots.app.yml changelog entry, run fdroid update, and sync repo/ to /var/www/fdroid/repo/:

    cd /home/ubuntu/fdroid
    cp /path/to/SkateSpots-<version>.apk repo/
    . /home/ubuntu/fdroid-venv/bin/activate
    fdroid update
    sudo rsync -a --delete repo/ /var/www/fdroid/repo/
    sudo chown -R caddy:caddy /var/www/fdroid
    
  6. Verify the public latest-release page contains the new .apk, and that https://fdroid.skate-spots.org/repo/index-v2.json lists the new versionCode.

  7. Update the static download page if the displayed version/checksum changes: public/download/index.html.

The Forgejo instance runs on the same host as the relay. It exposes public read access and HTTPS through Caddy; registration is disabled and administrative credentials are kept on the host, not in this repository.