Quick Start: Cloudflare Pages + SSO

Essential steps to get your LATTS documentation live with team access control on Cloudflare.

🚀 Quick Deployment Checklist

This is the fastest path to get your LATTS documentation live with proper access control for latts-ie team members using Cloudflare Pages and Cloudflare Access.

Phase 1: Set up Cloudflare Pages (10 minutes)

  1. Create Cloudflare Pages Project

    • Go to dash.cloudflare.comPages
    • Click Create a projectConnect to Git
    • Select the latts-ie/wiki-internal repository
    • Configure build settings:
      • Build command: hugo --minify --enableGitInfo
      • Build output directory: public
      • Environment variables:
        • HUGO_VERSION: 0.131.0
        • NODE_VERSION: 20
  2. Deploy and Get URL

    • Click Save and Deploy
    • Your site will be live at: https://latts-internal-docs.pages.dev
    • Wait for initial build to complete

Phase 2: Configure GitHub Actions (5 minutes)

  1. Set up Repository Secrets

    • Get Cloudflare API Token from dash.cloudflare.comMy ProfileAPI Tokens
    • Create custom token with Cloudflare Pages:Edit permission
    • Add to GitHub repository secrets:
      • CLOUDFLARE_API_TOKEN: Your API token
      • CLOUDFLARE_ACCOUNT_ID: Your Cloudflare account ID
  2. Verify Automated Deployment

    • Push any change to trigger GitHub Actions
    • Check Actions tab for successful deployment

Phase 3: Add Cloudflare Access Authentication (15 minutes)

Set up GitHub OAuth App

  1. Create GitHub OAuth App
    • Go to https://github.com/organizations/latts-ie/settings/applications
    • Click New OAuth App:
      • Application name: LATTS Docs - Cloudflare Access
      • Homepage URL: https://latts-internal-docs.pages.dev
      • Authorization callback URL: https://latts-team.cloudflareaccess.com/cdn-cgi/access/callback

Configure Cloudflare Access

  1. Enable Zero Trust

    • In Cloudflare Dashboard → Zero Trust
    • Set team domain: latts-team.cloudflareaccess.com
  2. Add GitHub Identity Provider

    • Go to Zero TrustSettingsAuthentication
    • Click Add newGitHub
    • Enter GitHub OAuth App credentials
  3. Create Access Application

    • Go to Zero TrustAccessApplications
    • Click Add an applicationSelf-hosted
    • Configure:
      • Application name: LATTS Internal Documentation
      • Domain: latts-internal-docs.pages.dev
      • Path: /*
    • Policy: Allow GitHub Organizations → latts-ie

Result: Only latts-ie organization members can access the documentation.

Alternative: Custom Domain Setup (Optional)

If you want a professional domain like docs.latts.ie:

  1. Add Custom Domain in Cloudflare Pages

    • In your Pages project → Custom domains
    • Add docs.latts.ie and follow DNS setup
  2. Update Access Application

    • Change domain in Access application to docs.latts.ie
    • Update GitHub OAuth App homepage URL

🎯 What You Get

✅ Immediate Benefits

  • Lightning-Fast Site: Cloudflare’s global CDN for optimal performance
  • Team Access Control: Only authorized team members can access
  • Professional Authentication: Clean Cloudflare Access login experience
  • Automatic Deployment: Push to main branch = automatic updates
  • Version Control: Full history of all documentation changes
  • Unlimited Bandwidth: No traffic limits with Cloudflare Pages

🔒 Security Features

  • Organization-based Access: Automatic access for latts-ie members
  • HTTPS by Default: Secure connection with automatic SSL certificates
  • DDoS Protection: Built-in Cloudflare security features
  • Audit Trail: All changes tracked via Git history
  • Advanced Security Headers: Configured for maximum protection

🌍 Performance Features

  • Global CDN: Content served from nearest edge location
  • Automatic Optimization: Images and assets optimized automatically
  • 99.9% Uptime: Cloudflare’s enterprise-grade reliability
  • Built-in Analytics: Page views and performance metrics

📋 Post-Deployment Tasks

Immediate (Next 30 minutes)

  • Test site access with team members
  • Verify Cloudflare Access authentication is working
  • Add team members to repository if needed
  • Test “Edit this page” functionality

Within First Week

  • Set up custom domain (optional)
  • Customize Cloudflare Access branding
  • Add team-specific content to guides
  • Train team on editing workflow

Ongoing Maintenance

  • Review access logs in Cloudflare dashboard monthly
  • Monitor site performance metrics
  • Update content based on team feedback
  • Review team access permissions quarterly

🆘 Need Help?

Common Issues

Site not building on Cloudflare Pages?

  • Check build logs in Cloudflare Pages dashboard
  • Verify environment variables are set correctly
  • Ensure Git submodules are properly configured

Team members can’t access after authentication?

  • Verify users are in latts-ie GitHub organization
  • Check Access policy includes correct GitHub organization
  • Ensure GitHub OAuth app is approved for the organization

GitHub Actions deployment failing?

  • Verify repository secrets are set correctly
  • Check API token has correct permissions
  • Ensure account ID matches your Cloudflare account

Getting Support

  • Create issue in this repository for documentation problems
  • Check Cloudflare Status page for service issues
  • Review detailed setup guide for advanced configurations

💰 Cost Overview

Free Tier (Sufficient for Most Teams)

  • Cloudflare Pages: 500 builds/month, unlimited bandwidth
  • Cloudflare Access: Up to 50 users
  • GitHub Actions: 2,000 minutes/month

If You Outgrow Free Tier

  • Cloudflare Pages Pro: $20/month for 5,000 builds
  • Cloudflare Access: $3/user/month for unlimited users
  • GitHub Teams: $4/user/month for advanced features

🎉 Congratulations! Your team documentation is now live on Cloudflare’s global network with enterprise-grade security and performance. Time to start building your knowledge base!