Manual / Cloudflare: First Cloudberrie Website Deployment
Cloudberrie Business & Operations Manual

Cloudflare: First Cloudberrie Website Deployment

Complete production runbook for deploying the Cloudberrie public website from GitHub to Cloudflare Pages and safely connecting cloudberrie.com without breaking Google Workspace email.

Type: RunbookStatus: Ready for ReviewOwner: Cloudberrie StudioVersion: 4.2.0Updated: 2026-07-17

Purpose & Expected Result

Deploy the Cloudberrie public website as the first Cloudflare Pages project, validate it on a temporary Pages URL, move DNS safely, then make cloudberrie.com the production domain.

Local website folderGitHub private repositoryCloudflare Pagespages.devcloudberrie.com

Prerequisites

Do not change nameservers first. Deploy and test on the pages.dev URL before touching DNS.

1. Create the Website Repository

Create the repository

Inside the Cloudberrie GitHub organization, create a private repository such as cloudberrie-website. Leave README, .gitignore, and license unchecked if local files already exist.

Push the website

git init\ngit add .\ngit commit -m "Initial commit: Cloudberrie website"\ngit branch -M main\ngit remote add origin https://github.com/cloudberrie-studio/cloudberrie-website.git\ngit push -u origin main

Verify GitHub

Open the repository and confirm the website files are visible, the repository is private, and no secrets or credentials were committed.

2. Create the Cloudflare Pages Project

Connect GitHub

Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git. Authorize the Cloudflare GitHub App only for the required organization/repositories.

Select repository

Choose cloudberrie-website and the main production branch.

Configure the build

SettingValue for static site
Framework presetNone
Build commandLeave blank
Build output directory/ or the folder containing index.html
Environment variablesNone unless the site explicitly needs them

Deploy

Start deployment and wait for a successful status. Cloudflare creates a URL similar to cloudberrie-website.pages.dev.

3. Test the pages.dev Deployment

Gate: do not connect cloudberrie.com until this temporary deployment is approved.

4. Prepare and Move DNS Safely

Export the current zone

Capture every existing record from the current DNS provider before making changes.

Record groupWhy it matters
MXControls where @cloudberrie.com email is delivered
SPF TXTAuthorizes email senders
DKIM TXTSigns outgoing Workspace email
DMARC TXTDefines authentication policy and reporting
Verification TXTGoogle, Search Console, Meta, and third-party ownership
A / AAAA / CNAMEExisting website and subdomain routing

Add the zone to Cloudflare

  1. Cloudflare → Add a domain/site → enter cloudberrie.com.
  2. Select the intended plan.
  3. Review Cloudflare’s imported DNS records line by line against the export.
  4. Add any missing Google Workspace and verification records before changing nameservers.
Email protection rule: the Cloudflare orange proxy must not be applied to MX or mail-related records. DNS-only is required where applicable.

Change nameservers

  1. Copy the two Cloudflare nameservers.
  2. Open the registrar where cloudberrie.com is registered.
  3. Replace the existing authoritative nameservers.
  4. Save and wait for Cloudflare to show the zone as active.

5. Connect the Production Domain

Add custom domain

Cloudflare Pages project → Custom domains → Set up a custom domain → enter cloudberrie.com.

Add www

Add www.cloudberrie.com as well. Choose a canonical domain and redirect the other version to it.

Wait for SSL

Cloudflare provisions certificates automatically. Do not declare completion until both root and www load securely without warnings.

6. Post-Deployment Verification

Website

Email

Completion rule: the website deployment is not complete until website and email tests both pass.

7. Rollback & Troubleshooting

ProblemLikely causeAction
Website works on pages.dev but not custom domainDNS/custom-domain provisioningReview Pages custom domain status, DNS records, and SSL issuance
Email stopped after nameserver changeMissing or incorrect MX/TXT recordsRestore exported Workspace records immediately; verify DNS-only
Old website still appearsDNS cache or stale A/CNAMERemove conflicting records and allow propagation
Build failedWrong output directory or unsupported buildConfirm index.html location and static-site settings
Rollback option: if critical email or website issues cannot be resolved promptly, restore the previous nameservers at the registrar using the original DNS provider’s zone. Keep the exported DNS records and prior nameservers in the deployment record.

Release Record

Record repository URL, Pages project name, pages.dev URL, production domain, DNS change date, approver, Cloudflare account owner, registrar, and final verification result.