Files
recap/startos-registry/README.md
T
Keysat 9282440143 Rename project: youtube-summarizer → recap
The product was always more than YouTube — it handles podcast feeds
too, and the upcoming multi-provider work makes it less Gemini-
specific. New name: Recap.

This is a coordinated identity change across:

  • StartOS package id: youtube-summarizer → recap
    (manifest.id; the .s9pk filename, Docker image namespace, and
    install path under StartOS all derive from this automatically)
  • Display name: "YouTube Summarizer" → "Recap"
    (manifest title, activation screen heading, page <title>, console
    log on boot, i18n strings, ABOUT.md, Dockerfile header,
    docker_entrypoint banner)
  • Keysat product slug: youtube-summarizer → recap
    (server/license.js PRODUCT_SLUG; frontend fallback strings)
  • Daemon subscription id: youtube-summarizer-sub → recap-sub
  • Env var prefix: YT_SUMMARIZER_* → RECAP_*
    (LICENSE_KEY, LICENSE_KEY_PATH, MAX_OFFLINE_DAYS,
    VALIDATE_INTERVAL_MS)
  • localStorage keys: yt-summarizer-* → recap-*
    (gemini-key, activation-skipped, clips)
  • Library export filename: youtube-summarizer-library.json →
    recap-library.json
  • npm package names: youtube-summarizer-{startos,server} → recap-*
  • Deploy paths: youtube-summarizer_x86_64.s9pk → recap_x86_64.s9pk
    (default values in bin/deploy.sh; .deploy.env on dev machine
    needs the same update before next push)
  • Self-hosted registry directory: startos-registry/packages/
    youtube-summarizer → .../recap (with package.json + INSTRUCTIONS
    rewritten)

What does NOT change:
  • Filesystem repo path (still /Users/.../youtube-summarizer/)
  • Git history / commit messages
  • Existing version files in startos/versions/ (kept as-is — the
    version chain belongs to the package's own history regardless of
    its display name)

User-side follow-ups required:
  1. Create "recap" product in Keysat admin, set up Core/Pro tier
     policies (same entitlements as before), mint a fresh test
     license. Old "youtube-summarizer" licenses won't activate
     against the new slug.
  2. Update .deploy.env (gitignored) so FILEBROWSER_PATH and
     REGISTRY_PUBLIC_URL point at recap_x86_64.s9pk.

StartOS will treat this as a brand-new app on install — existing
youtube-summarizer installs will not auto-migrate (acknowledged
intentional given no real users yet).
2026-05-08 13:35:27 -05:00

2.3 KiB

StartOS Package Registry

A minimal, self-hosted StartOS package registry implementing the Start9 Marketplace Protocol.

Registry URL: https://registry.satsflows.com

Directory Layout

startos-registry/
  server.js              # The registry server (~250 lines of Node.js)
  registry.json          # Registry name and categories
  package.json           # Node.js dependencies
  nginx.conf             # nginx reverse proxy config
  startos-registry.service  # systemd unit file
  packages/
    recap/               # One directory per package
      package.json       # Package metadata (version, description, etc.)
      icon.png           # Package icon (PNG)
      LICENSE            # License text
      INSTRUCTIONS.md    # User-facing instructions
      *.s9pk             # The actual package binary
    another-package/     # Add more packages the same way
      package.json
      icon.png
      ...
  scripts/
    setup-vps.sh         # One-time VPS setup (nginx, TLS, systemd)
    publish.sh           # Upload new versions from your dev machine

Adding a New Package

  1. Create a directory under packages/ with your package ID as the name
  2. Create a package.json inside it (copy from an existing one as a template)
  3. Add icon.png, LICENSE, and INSTRUCTIONS.md
  4. Place the .s9pk file in the same directory
  5. Reload: systemctl reload startos-registry

Updating a Package

  1. Build a new .s9pk with the updated version
  2. Update packages/<id>/package.json: bump the version field and add release notes
  3. Replace the .s9pk file
  4. Reload: systemctl reload startos-registry

Or use the publish script from your dev machine:

./scripts/publish.sh recap ./recap_x86_64.s9pk

Version Format (Exver)

StartOS 0.4.0 uses Extended Versioning: <upstream>:<downstream>

  • 0.1.0:0 = upstream v0.1.0, wrapper revision 0
  • 0.2.0:0 = new upstream version
  • 0.2.0:1 = same upstream, updated wrapper/metadata

How Users Add Your Registry

On their StartOS device:

  1. Go to Marketplace
  2. Tap Change (or the registry selector)
  3. Tap Add custom registry
  4. Enter: https://registry.satsflows.com
  5. Your packages appear in their marketplace