HotupdaterHot Updater
Storage Plugins

Supabase Storage

Store your Hot Updater bundles in Supabase Storage buckets.

Installation

npm install @hot-updater/supabase --save-dev

Setup

The easiest way to set up your backend is using the init command:

npx hot-updater init

This interactive command will guide you through the setup process. For details on what the init command does, see the Supabase documentation.

For manual configuration, use the settings below.

Configuration

interface SupabaseStorageConfig {
  supabaseUrl: string;             // Your Supabase project URL
  supabaseServiceRoleKey: string;  // Your Supabase service role or secret key
  bucketName: string;              // Storage bucket name
  basePath?: string;               // Optional base path within bucket
}

Usage

import { supabaseStorage } from '@hot-updater/supabase';
import { defineConfig } from 'hot-updater';

export default defineConfig({
  storage: supabaseStorage({
    supabaseUrl: process.env.SUPABASE_URL,
    supabaseServiceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY,
    bucketName: 'hot-updater-bundles',
    basePath: 'bundles'  // Optional
  }),
  // ... other config
});

Protocol

supabase-storage://

This prefix is stored in the storageUri field in the database.

Profiles

supabaseStorage implements both storage profiles:

  • node: uploads, deletes, and downloads local files during CLI/console workflows.
  • runtime: creates signed download URLs and reads small metadata files directly through Supabase Storage.

For Supabase Edge Function runtimes, use the runtime-specific storage export so update checks can resolve downloads without relying on local filesystem APIs.

On this page