← Back to Labs

Supabase Self-Hosting Migration Guide

Source: SaaS/.md/SUPABASE_MIGRATION_GUIDE.md · Rendered 2026-07-17
⚠ May be partially stale: This is an early (last updated May 21, 2026) 6-project migration guide. It lists servvee.online as a project to migrate — but Servvee was CUT 2026-07-11 and folded into Boom Online Ordering. It predates the current 14-app portfolio (covers only 6 apps + BOO) and uses the api.boommedia.us backend host; later docs standardize on db.boommedia.us for the Supabase Studio/DB. The migration itself is long since done. Treat as historical reference, not current infra state.

BOOM Media LLC - All 6 Projects

Status: Ready to deploy
Backend URL: https://api.boommedia.us
Infrastructure: Self-hosted Supabase on DigitalOcean
Cost Reduction: From $XXX/month → $12/month


📋 Projects to Migrate

  1. bloggy.online
  2. addee.online
  3. approvee.online
  4. rankee.online
  5. servvee.online
  6. boomonlineordering.com

🔑 Before You Start

You'll need:


Phase 1: Deploy Supabase via Coolify ✓ DONE

Your Coolify instance is ready at https://api.boommedia.us

Next: Log in and deploy Supabase service (see Phase 2 below).


Phase 2: Deploy Supabase Service

Step 1: Access Coolify Dashboard

  1. Go to https://api.boommedia.us
  2. Log in with:
    • Username: admin
    • Password: admin
    • (Change these credentials after first login!)

Step 2: Deploy Supabase

  1. Click "Services" in the left menu
  2. Click "+ Add Service"
  3. Search for "Supabase" and select it
  4. Configure:
    • Service Name: Supabase
    • Domain: api.boommedia.us
    • Keep other defaults
  5. Click "Deploy"

Wait 3-5 minutes for Supabase to spin up.

Step 3: Get Your Supabase Credentials

Once deployed:

  1. In Coolify, find your Supabase service
  2. Click "Logs" or "Environment" tab
  3. You'll see generated credentials. Copy and save these:
SUPABASE_URL = https://api.boommedia.us
SUPABASE_ANON_KEY = [generated key]
SUPABASE_SERVICE_ROLE_KEY = [generated key]
SUPABASE_JWT_SECRET = [generated secret]

⚠️ Save these somewhere secure! You'll need them for all 6 projects.


Phase 3: Migrate Data from Supabase Cloud

For Each Project:

Step 1: Export Schema & Data from Supabase Cloud

On your local machine, install Supabase CLI if you haven't:

npm install -g supabase

For each project, run:

# 1. Log in to Supabase (will prompt for your credentials)
supabase login

# 2. Link to your Supabase project
supabase link --project-ref [PROJECT_REF]

# 3. Dump the schema
supabase db dump -f schema.sql

# 4. Dump the data (optional, if you want to migrate existing data)
supabase db dump --data-only -f data.sql

Note: [PROJECT_REF] is the project ID from your Supabase Cloud URL. For example, if your URL is https://xxxxx.supabase.co, the xxxxx part is your project ref.

Step 2: Import to Self-Hosted Supabase

Once you have schema.sql and data.sql, you need to import them to your self-hosted instance.

Option A: Via Supabase Dashboard (Easiest)

  1. In your self-hosted Supabase dashboard (accessible from Coolify)
  2. Go to SQL Editor
  3. Paste the contents of schema.sql
  4. Run it
  5. Then paste and run data.sql if you exported data

Option B: Via CLI (If Option A doesn't work)

# Get your self-hosted Supabase connection string
# Format: postgresql://postgres:[password]@[host]:[port]/postgres

# Run this locally
psql [CONNECTION_STRING] < schema.sql
psql [CONNECTION_STRING] < data.sql

Phase 4: Update Project Environment Variables

For each of the 6 projects, update your environment files:

Locate & Update Environment Files

Each project has environment config files. Update these:

Template for Each Project

# Change FROM:
NEXT_PUBLIC_SUPABASE_URL=https://[old-project-id].supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=[old-key]
SUPABASE_SERVICE_ROLE_KEY=[old-key]

# Change TO:
NEXT_PUBLIC_SUPABASE_URL=https://api.boommedia.us
NEXT_PUBLIC_SUPABASE_ANON_KEY=[SUPABASE_ANON_KEY from Phase 3]
SUPABASE_SERVICE_ROLE_KEY=[SUPABASE_SERVICE_ROLE_KEY from Phase 3]

📝 Migration Checklist for Each Project

1. bloggy.online

2. addee.online

3. approvee.online

4. rankee.online

5. servvee.online

6. boomonlineordering.com


🧪 Testing & Verification

Local Testing (Before Production Deploy)

For each project:

# 1. Update .env.local with new Supabase credentials
# 2. Clear any cached dependencies
rm -rf node_modules
npm install

# 3. Start dev server
npm run dev

# 4. Test these features:
# - Sign up / Log in (Auth)
# - Create/Read/Update/Delete operations
# - Any real-time subscriptions
# - File uploads (if applicable)

Production Testing (After Deploy)


🔄 Rollback Procedure

If something goes wrong and you need to revert:

Rollback to Supabase Cloud (Within 24 hours of migration)

  1. Revert environment variables back to your old Supabase Cloud URLs:
    NEXT_PUBLIC_SUPABASE_URL=https://[old-project-id].supabase.co
    NEXT_PUBLIC_SUPABASE_ANON_KEY=[old-key]
  2. Redeploy to Vercel/Netlify
  3. Verify each project works again

⚠️ Important Notes

Row-Level Security (RLS)

If your projects use RLS (Recommended), make sure:

Real-Time Subscriptions

If your apps use Supabase real-time (.on('*', ...) subscriptions):

Storage & File Uploads

If your apps upload files to Supabase Storage:

Backups

Self-hosted = You're responsible for backups!

Set up automated backups:

  1. In Coolify, configure backup storage (S3, DigitalOcean Spaces, etc.)
  2. Set daily/weekly backup schedule
  3. Test restore procedures regularly

🏎 Troubleshooting

Issue: "Connection refused" when connecting to self-hosted Supabase

Solution:

Issue: Authentication fails after migration

Solution:

Issue: Real-time subscriptions don't work

Solution:

Issue: Queries are slow

Solution:


📞 Support Resources


✓ Migration Complete!

Once all 6 projects are live on self-hosted Supabase:

  1. ✓ Monitor for 24-48 hours for any issues
  2. ✓ Set up daily backups in Coolify
  3. ✓ Document any custom configurations
  4. ✓ Cancel old Supabase Cloud subscriptions
  5. ✓ Enjoy $12/month infrastructure costs! 🎉

Last Updated: May 21, 2026
Infrastructure: DigitalOcean + Coolify + Self-Hosted Supabase
Total Monthly Cost: $12 (Droplet) + optional backups