Skip to main content

Cloudflare: First Cloudberrie Website Deployment

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

On this page: PurposePrerequisitesGitHubCloudflare Pagespages.dev testDNS migrationCustom domainVerificationRollback

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 folder→GitHub private repository→Cloudflare Pages→pages.dev→cloudberrie.com

Prerequisites

Final Cloudberrie website folder ready Git installed GitHub account and organization available Cloudflare account with 2FA Domain registrar access Google Workspace Gmail is active Existing DNS records exported A non-domain email available for outage testing

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

Home page loads over HTTPS Header, navigation, and footer work Images and fonts load Mobile layout is correct Contact links and forms work No console errors No local file paths remain Metadata and favicon are correct

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

cloudberrie.com loads www redirects correctly HTTPS is valid pages.dev remains available for diagnosis Forms and links work Mobile and desktop approved

Email

Send external email to hello@ Send external email to admin@ Reply from hello@ Confirm MX using Admin Console or DNS checker Confirm SPF/DKIM/DMARC remain published No unexpected bounce or spam placement

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.