I have a Next JS website, modulesforyoursite.com, which serves as a simple landing page. It promotes 3-4 different apps (widgets) that customers can buy.
Once a customer purchases apps, they get access to a dashboard. As an admin, I can set up their dashboard and connect it to their domain using their details.
Based on the apps they’ve bought, I deploy a basic landing page template, including the selected apps, to their domain. All customers get a similarly styled site, differing only in the modules they’ve purchased.
When they buy additional modules, I update their site with the new modules. All data for these apps is stored in a single Supabase project with a shared database. To edit the data on their site, customers use their dashboard on modulesforyoursite.com.
Each customer has their own domain, so I can't deploy their site under a subdomain of mine.
Essentially, I manage two sites: one for the dashboard and admin controls, and another as a template deployed to customer domains. These sites will likely be in a monorepo.
I want to integrate CI/CD into this process. When a customer buys apps, I collect their contact information and domain details. Then, on my dashboard I'll create a tab (as an admin) where entering their domain on my dashboard and clicking a button deploys the site. I’d also like the ability to deploy updates to all or individual customer sites with a single click.
Can you please confirm if this can be done with Vercel? If so, can I set up hosting and the deployment of these business' domains using Vercel under a single user for $20/month and then manage them from the single monorepo?