67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
# Deploying to Cloudflare Pages
|
|
|
|
This Next.js app is configured to run on Cloudflare Pages with full server-side functionality.
|
|
|
|
## Prerequisites
|
|
|
|
1. Install Wrangler CLI globally:
|
|
\`\`\`bash
|
|
npm install -g wrangler
|
|
\`\`\`
|
|
|
|
2. Login to Cloudflare:
|
|
\`\`\`bash
|
|
wrangler login
|
|
\`\`\`
|
|
|
|
## Local Development
|
|
|
|
Run the app locally with Cloudflare Workers simulation:
|
|
\`\`\`bash
|
|
npm run preview
|
|
\`\`\`
|
|
|
|
## Build for Cloudflare
|
|
|
|
Build the app for Cloudflare Pages:
|
|
\`\`\`bash
|
|
npm run pages:build
|
|
\`\`\`
|
|
|
|
This creates a `.vercel/output/static` directory with your built app.
|
|
|
|
## Deploy to Cloudflare Pages
|
|
|
|
### Option 1: Command Line Deployment
|
|
|
|
\`\`\`bash
|
|
npm run deploy
|
|
\`\`\`
|
|
|
|
### Option 2: Cloudflare Dashboard
|
|
|
|
1. Go to [Cloudflare Pages](https://dash.cloudflare.com/pages)
|
|
2. Create a new project
|
|
3. Connect your Git repository
|
|
4. Set build settings:
|
|
- **Build command**: `npm run pages:build`
|
|
- **Build output directory**: `.vercel/output/static`
|
|
- **Root directory**: `/`
|
|
|
|
## Environment Variables
|
|
|
|
Add these environment variables in Cloudflare Pages dashboard:
|
|
|
|
- `STRIPE_SECRET_KEY`
|
|
- `STRIPE_PUBLISHABLE_KEY`
|
|
- `NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY`
|
|
- `STRIPE_WEBHOOK_SECRET`
|
|
- `SENDGRID_API_KEY` - For sending notification emails (thank you emails after purchases)
|
|
|
|
## Important Notes
|
|
|
|
- API routes run as Cloudflare Workers
|
|
- Stripe webhooks will need to be updated to your Cloudflare Pages URL
|
|
- All server-side features (API routes, dynamic rendering) are fully supported
|
|
- The app uses Edge Runtime for optimal performance on Cloudflare's network
|