Oolvay is a configuration-driven Next.js application. The same codebase runs locally, in preview environments, and in production by switching environment variables. No code changes are required between environments.
Deploying a SaaS product involves more than pushing code. It means provisioning a database, wiring up transactional email, configuring file storage and a CDN, setting up a cache layer, securing background and scheduled jobs, and connecting observability tooling before the first user ever signs in. Oolvay ships with all of these integrations preconfigured and documented. The only work required is provisioning the services themselves and supplying their credentials as environment variables.
The framework provides first-class support for Vercel and ships with a production-ready GitHub Actions CI workflow that validates every push before it reaches production.
A full production deployment consists of the following components.
| Component | Purpose |
|---|---|
| Application | Next.js 16 application server |
| Database | PostgreSQL via Neon |
| Object Storage | User-uploaded assets via AWS S3 |
| CDN | Asset delivery via AWS CloudFront |
| Cache | Distributed caching and transient storage via Upstash Redis |
| Transactional email via Resend or Postmark | |
| Background Jobs | Event-driven async tasks via Inngest |
| Scheduled Jobs | Recurring maintenance tasks via Vercel Cron |
| Observability | Logging, analytics, and error reporting (optional) |
Every component is independently configurable. Swapping a service means updating environment variables, not application code.
Clone the repository and install dependencies.
0 / 2,000 characters
Provision external infrastructure. At minimum this means a PostgreSQL database. Redis, S3, CloudFront, and email providers should also be provisioned before the first production deployment.
Configure environment variables in your hosting platform. See the Configuration guide for a complete reference.
Understand how Oolvay’s configuration system is organized and where to customize application behavior.
Deploy the application. On Vercel, deployments trigger automatically on every push to the production branch once your GitHub repository is connected to a Vercel project. See the Vercel guide for setup instructions.
Run database migrations.
bun db:migrateVerify third-party integrations and run a smoke test.
Oolvay targets any platform capable of hosting a Next.js application. Vercel is the recommended and best-supported option.
| Platform | Status |
|---|---|
| Vercel | Fully supported |
| Self-hosted Node.js | Supported |
| Docker | Supported |
| Other Next.js-compatible platforms | Supported with appropriate configuration |
The only Vercel-specific feature the framework depends on is Vercel Cron for scheduled jobs. If you deploy elsewhere, you will need to replicate that scheduling mechanism independently.