Quick Start: Cloudflare Pages + SSO
🚀 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)
Create Cloudflare Pages Project
- Go to dash.cloudflare.com → Pages
- Click Create a project → Connect to Git
- Select the
latts-ie/wiki-internalrepository - Configure build settings:
- Build command:
hugo --minify --enableGitInfo - Build output directory:
public - Environment variables:
HUGO_VERSION:0.131.0NODE_VERSION:20
- Build command:
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)
Set up Repository Secrets
- Get Cloudflare API Token from dash.cloudflare.com → My Profile → API Tokens
- Create custom token with Cloudflare Pages:Edit permission
- Add to GitHub repository secrets:
CLOUDFLARE_API_TOKEN: Your API tokenCLOUDFLARE_ACCOUNT_ID: Your Cloudflare account ID
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
- 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
- Application name:
- Go to
Configure Cloudflare Access
Enable Zero Trust
- In Cloudflare Dashboard → Zero Trust
- Set team domain:
latts-team.cloudflareaccess.com
Add GitHub Identity Provider
- Go to Zero Trust → Settings → Authentication
- Click Add new → GitHub
- Enter GitHub OAuth App credentials
Create Access Application
- Go to Zero Trust → Access → Applications
- Click Add an application → Self-hosted
- Configure:
- Application name:
LATTS Internal Documentation - Domain:
latts-internal-docs.pages.dev - Path:
/*
- Application name:
- 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:
Add Custom Domain in Cloudflare Pages
- In your Pages project → Custom domains
- Add
docs.latts.ieand follow DNS setup
Update Access Application
- Change domain in Access application to
docs.latts.ie - Update GitHub OAuth App homepage URL
- Change domain in Access application to
🎯 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-iemembers - 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-ieGitHub 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!