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
- Fork bedrickz/fivewyze on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/fivewyze.git cd fivewyze bun install
- Verify it builds:
bun run build
Step 2: Supabase Project
- Create a new project at supabase.com/dashboard
- Choose a region close to your audience
- Save the database password (you won't see it again)
- 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:
001_initial_schema.sql— Core tables, state machine triggers, RLS policies002_realtime_and_cron.sql— Broadcast triggers, pg_cron transitions003_channel_shares.sql— Channel ownership tokens004_artist_profiles.sql— Artist profile fields005_content_rotation.sql— Slot content rotation support006_rumble_verification.sql— Channel verification007_auction_settlement.sql— Auction winner/loser settlementseed.sql— Admin user, default channel, sample slots
Step 4: Configure Auth
- Go to Authentication > URL Configuration
- Set Site URL to your domain (e.g.,
https://yourdomain.com) - Add Redirect URLs:
https://yourdomain.comandhttps://yourdomain.com/** - Email provider is enabled by default — no extra config needed
Step 5: Vercel Deployment
- Import your GitHub repo at vercel.com
- Vercel auto-detects the build config from
vercel.json - 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.
- Or add environment variables manually in Vercel Settings:
NEXT_PUBLIC_SUPABASE_URLYour project URLNEXT_PUBLIC_SUPABASE_ANON_KEYPublic anon key (safe for browsers)SUPABASE_SERVICE_ROLE_KEYService role key (server-side only)RESEND_API_KEYOptional — for contact form emails - Push to
masterto trigger deploy, or click Redeploy in the dashboard
Step 6: Custom Domain
- In Vercel: Settings > Domains — add your domain and follow DNS instructions
- In Supabase: update the Site URL in Authentication settings to match
- 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-urlmeta 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.tsand images inpublic/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.sqlbefore running it. - Contact
- Change the email address in
api/contact.tsand the footer inlayout.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 →