Build with Next.js
Create a project (quickstart), open the Connect tab, and copy your .env. Then wire it up:
Database
Section titled “Database”npm install postgresimport postgres from 'postgres';export const sql = postgres(process.env.DATABASE_URL!, { ssl: 'require' });Use the pooled connection string for serverless/edge-style deployments.
Storage
Section titled “Storage”npm install @aws-sdk/client-s3 @aws-sdk/s3-request-presignerimport { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';const s3 = new S3Client({ endpoint: process.env.S3_ENDPOINT, region: 'us-central-1', forcePathStyle: true, credentials: { accessKeyId: process.env.S3_ACCESS_KEY!, secretAccessKey: process.env.S3_SECRET_KEY! },});npm install @supabase/supabase-js// lib/auth.ts — Supabase-compatible client against ImpulseAuthimport { createClient } from '@supabase/supabase-js';export const auth = createClient(process.env.NEXT_PUBLIC_AUTH_URL!, process.env.NEXT_PUBLIC_AUTH_ANON_KEY!);Verify sessions server-side (route handlers, middleware) against your project’s JWKS — see Auth → Integrating.
npm install ioredisimport Redis from 'ioredis';export const redis = new Redis(process.env.REDIS_URL!);Host it on Impulse
Section titled “Host it on Impulse”Run next build and deploy the standalone output to a Cloud VPS behind Nginx or Caddy — full Node runtime, no serverless constraints. Fully static exports (output: 'export') can be served from an ImpulseDrive bucket with static hosting.