theStacc · infra decision · Oct 2026

Where should our data and images live?

Three options compared on our real numbers: staying on Supabase, moving images to Cloudflare R2, or self-hosting everything on our own server.

4.6 GB database 12 GB images · 25,684 files 724 users 2,511 / 2,530 live posts use Supabase image links 14 / 29 customer sites load images from Supabase
Option A

Stay on Supabase

~$30 /month

Upgrade the database from 1 GB to 2 GB RAM. Nothing moves.

Recommended
Option B · Amit's idea

Supabase + R2 for images

~$30 /month

Database stays on Supabase. New images go to R2 on our own domain. R2 costs about $0.

Option C

Self-host everything

~$1 /month later

~$26 until old images are moved off Supabase. Everything runs on our one server.

Side by side

A · StayB · + R2C · Self-host
Work to switch10 minutes2–3 days1–2 weeks + upkeep
Downtime~2 min restartNone~20 min
Fixes Monday's database stallYesYes, with the upgradeYes
Image resizingOver quota, ~$1–6/moFreeFree with R2
Image speedOKFast, global edgeFast with R2
BackupsHandled for usHandled for usWe build them, none today
If it breaks at 3amSupabase fixes itSupabase fixes itWe fix it
Tied to SupabaseFullyDatabase onlyNo

What happens to images

A · StayB · + R2C · Self-host
New imagesSupabase link, as todayOur domainOur domain
Old images on customer sitesKeep workingKeep workingBreak when Supabase closes
Posts customers edited or disconnectedFineFineCan't be fixed
Logo in emails already sentFineFineBreaks
Social posts waiting to publishFineFineNeeds a careful switch

Old images point at a supabase.co address, and only Supabase controls it. In B, Supabase stays up for the database anyway, so old images never break.

What switching looks like

A · Stay

10 minutes
  1. Upgrade to the 2 GB plan
  2. 2 min restart at a quiet hour
  3. Done

B · + R2

2–3 days
  1. Create R2 + images.thestacc.com
  2. One upload helper for all images
  3. Copy the 12 GB across
  4. Point saved links at the new domain
  5. Thumbnails via Cloudflare

C · Self-host

1–2 weeks
  1. Offsite backups + a restore test
  2. Lock down the server's open ports
  3. Copy database and users over
  4. Rehearse, then switch ~20 apps
  5. Re-sync all posts, close Supabase

Do A now, then B.

About $30 a month. Nothing breaks, the stall is fixed today, and new images move to our own domain within a week. Self-hosting saves ~$29 a month at most, and only once the old images are gone, in exchange for running backups and outages on one old disk.