Skip to content

Prerequisites ​

To self-host RankHub, you need the following tools and accounts.

Required ​

Bun 1.3+ ​

The JavaScript runtime used for development, building, and running scripts.

bash
curl -fsSL https://bun.sh/install | bash
bun --version  # verify >= 1.3.0

Supabase Project ​

PostgreSQL database hosted on Supabase, used for persistent storage.

  1. Create a project at supabase.com.
  2. Note the project URL, anon key, and service role key from Settings > API.
  3. Get the transaction pooler connection string from Settings > Database > Connection string > Transaction pooler.

Cloudflare Account with Workers ​

Required for deploying the web app and Durable Object worker.

  1. Create an account at dash.cloudflare.com.
  2. Enable Workers in the account settings.
  3. Note your account ID and API token.
  4. Ensure Durable Objects are enabled for your account.

Optional ​

Resend Account ​

For transactional emails (verification, password reset, weekly digest).

  1. Create an account at resend.com.
  2. Generate an API key.
  3. Configure a verified sending domain or use Resend's on-domain email.

PostHog Account ​

For product analytics.

Sentry Account ​

For error tracking and performance monitoring.

Local Development ​

For local development, you can use Supabase's local stack instead of a cloud project:

bash
# Install Supabase CLI
brew install supabase/tap/supabase

# Start local Supabase
supabase start

# This provides local PostgreSQL, Auth, and Storage

The .env.example file in the repository root contains all required environment variables with local defaults already configured.