Sign In

or

Deploy Your Own Instance

White-label streaming platform. Free tier. Under 15 minutes.

What You Need

GitHub

Fork the repo. Free account works.

Supabase

Postgres, Auth, Realtime, cron jobs. Free tier works.

Vercel

Static hosting + serverless API routes. Free tier works.

Bun

TypeScript runtime for local development. Install from bun.sh.

Step 1: Fork & Clone

  1. Fork bedrickz/fivewyze on GitHub
  2. Clone your fork locally:
    git clone https://github.com/YOUR-USERNAME/fivewyze.git
    cd fivewyze
    bun install
  3. Verify it builds: bun run build

Step 2: Supabase Project

  1. Create a new project at supabase.com/dashboard
  2. Choose a region close to your audience
  3. Save the database password (you won't see it again)
  4. Go to Database > Extensions and enable pg_cron

    This must be done before running migrations. The migrations auto-enable uuid-ossp and btree_gist, but pg_cron requires manual activation.

Step 3: Run Migrations

The fastest path is the Supabase CLI:

supabase link --project-ref YOUR_PROJECT_REF
supabase db push

Or open each file in the SQL Editor in your Supabase dashboard and run them in order. All migrations are in supabase/migrations/ on GitHub:

  1. 001_initial_schema.sql — Core tables, state machine triggers, RLS policies
  2. 002_realtime_and_cron.sql — Broadcast triggers, pg_cron transitions
  3. 003_channel_shares.sql — Channel ownership tokens
  4. 004_artist_profiles.sql — Artist profile fields
  5. 005_content_rotation.sql — Slot content rotation support
  6. 006_rumble_verification.sql — Channel verification
  7. 007_auction_settlement.sql — Auction winner/loser settlement
  8. seed.sql — Admin user, default channel, sample slots

Step 4: Configure Auth

  1. Go to Authentication > URL Configuration
  2. Set Site URL to your domain (e.g., https://yourdomain.com)
  3. Add Redirect URLs: https://yourdomain.com and https://yourdomain.com/**
  4. Email provider is enabled by default — no extra config needed

Step 5: Vercel Deployment

  1. Import your GitHub repo at vercel.com
  2. Vercel auto-detects the build config from vercel.json
  3. Connect Supabase integration (recommended):

    In Supabase: Settings > Integrations > Vercel > Connect. This syncs your Supabase URL and API keys to Vercel automatically, and keeps them in sync if you rotate keys.

  4. Or add environment variables manually in Vercel Settings:
    NEXT_PUBLIC_SUPABASE_URL Your project URL
    NEXT_PUBLIC_SUPABASE_ANON_KEY Public anon key (safe for browsers)
    SUPABASE_SERVICE_ROLE_KEY Service role key (server-side only)
    RESEND_API_KEY Optional — for contact form emails
  5. Push to master to trigger deploy, or click Redeploy in the dashboard

Step 6: Custom Domain

  1. In Vercel: Settings > Domains — add your domain and follow DNS instructions
  2. In Supabase: update the Site URL in Authentication settings to match
  3. SSL is provisioned automatically by Vercel

Step 7: Verify

  • Site loads with dark theme and all nav links work
  • Sign In modal opens and connects to Supabase Auth
  • Schedule page loads slot data from database
  • View page source — supabase-url meta tag has your project URL
  • pg_cron jobs are running: SELECT * FROM cron.job;

White-Label Customization

Branding & Colors
Edit src/config.ts — site name, theme colors, nav items, platform settings.
Logo
Replace the SVG in src/views/components/logo.ts and images in public/images/.
Fonts
Edit the Google Fonts link in src/views/components/layout.ts. The site loads Inter, JetBrains Mono, and Pirata One by default.
Channel & Token
Update channel name and token symbol in supabase/seed.sql before running it.
Contact
Change the email address in api/contact.ts and the footer in layout.ts.

Security Notes

  • The anon key is public — it's embedded in client JS and scoped by Row Level Security
  • The service role key bypasses RLS — it must only be in server-side env vars, never in client code
  • Revoke CLI access tokens after setup at supabase.com/dashboard/account/tokens
  • If keys are ever exposed in chat or logs, rotate them immediately in Supabase Settings > API
  • Security headers (CSP, HSTS, X-Frame-Options) are configured in vercel.json

Source Code

Full source, migrations, and docs: github.com/bedrickz/fivewyze

Licensed under AGPL v3. Deploy your own instance freely. The "fivewyze" name and logo are trademarked — rebrand your fork.

See Architecture Details →