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
- bloggy.online
- addee.online
- approvee.online
- rankee.online
- servvee.online
- boomonlineordering.com
🔑 Before You Start
You'll need:
- Access to your local project repositories (or Git access)
- Supabase Cloud credentials (to export data)
- Coolify dashboard access:
https://api.boommedia.us - DigitalOcean Droplet SSH access (if needed)
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
- Go to
https://api.boommedia.us - Log in with:
- Username:
admin - Password:
admin - (Change these credentials after first login!)
- Username:
Step 2: Deploy Supabase
- Click "Services" in the left menu
- Click "+ Add Service"
- Search for "Supabase" and select it
- Configure:
- Service Name:
Supabase - Domain:
api.boommedia.us - Keep other defaults
- Service Name:
- Click "Deploy"
⏳ Wait 3-5 minutes for Supabase to spin up.
Step 3: Get Your Supabase Credentials
Once deployed:
- In Coolify, find your Supabase service
- Click "Logs" or "Environment" tab
- 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)
- In your self-hosted Supabase dashboard (accessible from Coolify)
- Go to SQL Editor
- Paste the contents of
schema.sql - Run it
- Then paste and run
data.sqlif 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:
.env.local.env.production.env
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
- [ ] Export schema & data from Supabase Cloud
- [ ] Import to self-hosted Supabase
- [ ] Update
.env.localwith new Supabase URL & keys - [ ] Test locally:
npm run devand verify Auth login - [ ] Deploy to hosting platform (Vercel/Netlify)
- [ ] Verify production URL works
- [ ] Test Auth, queries, and mutations in production
2. addee.online
- [ ] Export schema & data from Supabase Cloud
- [ ] Import to self-hosted Supabase
- [ ] Update
.env.localwith new Supabase URL & keys - [ ] Test locally:
npm run devand verify Auth login - [ ] Deploy to hosting platform
- [ ] Verify production URL works
- [ ] Test Auth, queries, and mutations in production
3. approvee.online
- [ ] Export schema & data from Supabase Cloud
- [ ] Import to self-hosted Supabase
- [ ] Update
.env.localwith new Supabase URL & keys - [ ] Test locally:
npm run devand verify Auth login - [ ] Deploy to hosting platform
- [ ] Verify production URL works
- [ ] Test Auth, queries, and mutations in production
4. rankee.online
- [ ] Export schema & data from Supabase Cloud
- [ ] Import to self-hosted Supabase
- [ ] Update
.env.localwith new Supabase URL & keys - [ ] Test locally:
npm run devand verify Auth login - [ ] Deploy to hosting platform
- [ ] Verify production URL works
- [ ] Test Auth, queries, and mutations in production
5. servvee.online
- [ ] Export schema & data from Supabase Cloud
- [ ] Import to self-hosted Supabase
- [ ] Update
.env.localwith new Supabase URL & keys - [ ] Test locally:
npm run devand verify Auth login - [ ] Deploy to hosting platform
- [ ] Verify production URL works
- [ ] Test Auth, queries, and mutations in production
6. boomonlineordering.com
- [ ] Export schema & data from Supabase Cloud
- [ ] Import to self-hosted Supabase
- [ ] Update
.env.localwith new Supabase URL & keys - [ ] Test locally:
npm run devand verify Auth login - [ ] Deploy to hosting platform
- [ ] Verify production URL works
- [ ] Test Auth, queries, and mutations in production
🧪 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)
- [ ] Visit each live URL
- [ ] Log in with a test account
- [ ] Perform CRUD operations
- [ ] Test any real-time features
- [ ] Check browser console for errors
- [ ] Monitor Coolify dashboard for errors
🔄 Rollback Procedure
If something goes wrong and you need to revert:
Rollback to Supabase Cloud (Within 24 hours of migration)
- 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] - Redeploy to Vercel/Netlify
- Verify each project works again
⚠️ Important Notes
Row-Level Security (RLS)
If your projects use RLS (Recommended), make sure:
- RLS policies are included in your
schema.sqlexport - Test RLS policies thoroughly after migration
Real-Time Subscriptions
If your apps use Supabase real-time (.on('*', ...) subscriptions):
- Test these thoroughly after migration
- The self-hosted instance uses the same real-time API
Storage & File Uploads
If your apps upload files to Supabase Storage:
- Storage buckets must be migrated separately
- Use Supabase CLI:
supabase storage export - Then import to self-hosted instance
Backups
Self-hosted = You're responsible for backups!
Set up automated backups:
- In Coolify, configure backup storage (S3, DigitalOcean Spaces, etc.)
- Set daily/weekly backup schedule
- Test restore procedures regularly
🏎 Troubleshooting
Issue: "Connection refused" when connecting to self-hosted Supabase
Solution:
- Verify Coolify service is running: Check Coolify dashboard
- Verify DNS is propagated:
nslookup api.boommedia.us - Verify DigitalOcean Droplet is running: Check DigitalOcean dashboard
Issue: Authentication fails after migration
Solution:
- Verify
SUPABASE_JWT_SECRETis the same in your migration - Check JWT token expiration settings
- Clear browser cookies and try again
Issue: Real-time subscriptions don't work
Solution:
- Verify WebSocket connection to
api.boommedia.us - Check browser console for connection errors
- Restart Coolify service if needed
Issue: Queries are slow
Solution:
- Check DigitalOcean Droplet resource usage (CPU, RAM, Disk)
- Monitor Postgres query performance in Coolify
- Consider upgrading Droplet size if consistently >80% usage
📞 Support Resources
- Coolify Docs: https://coolify.io/docs
- Supabase Docs: https://supabase.com/docs
- DigitalOcean Docs: https://docs.digitalocean.com
✓ Migration Complete!
Once all 6 projects are live on self-hosted Supabase:
- ✓ Monitor for 24-48 hours for any issues
- ✓ Set up daily backups in Coolify
- ✓ Document any custom configurations
- ✓ Cancel old Supabase Cloud subscriptions
- ✓ Enjoy $12/month infrastructure costs! 🎉
Last Updated: May 21, 2026
Infrastructure: DigitalOcean + Coolify + Self-Hosted Supabase
Total Monthly Cost: $12 (Droplet) + optional backups