# StartOS Package Registry A minimal, self-hosted StartOS package registry implementing the [Start9 Marketplace Protocol](https://github.com/Start9Labs/registry/blob/master/marketplace_protocol.md). **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//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: ```bash ./scripts/publish.sh recap ./recap_x86_64.s9pk ``` ## Version Format (Exver) StartOS 0.4.0 uses Extended Versioning: `:` - `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