Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Proposed Architecture for the Lab Active Report

Proposed Architecture for the Lab Active Report

The goal is to maintain the report in GitHub while providing the lab with a secure, continuously updated web version.

1. Source Control — GitHub

The Jupyter Book source files, notebooks, figures, and supporting content remain in a private GitHub repository.

GitHub serves as the source of truth for the project and preserves the complete version history of the report.

2. Automated Build and Deployment — Cloudflare

The private GitHub repository is connected to Cloudflare Pages through Cloudflare’s GitHub integration.

When changes are pushed to the designated production branch, Cloudflare automatically:

GitHub → Build Jupyter Book → Deploy updated website

This means the lab always sees the latest deployed version without requiring us to manually rebuild or upload the website.

3. Secure Access — Cloudflare Access / Zero Trust

The deployed website is protected by Cloudflare Access.

Authorized lab members authenticate before viewing the report. If GitHub is used as the identity provider, Access policies can restrict entry based on approved GitHub organization or team membership.

Therefore, making the source repository private and protecting the deployed website are handled as two separate security layers:

Private GitHub repository
→ protects source code and research files

Cloudflare Access
→ controls who can view the deployed report

Overall Workflow

Research work
↓
Jupyter notebooks / Markdown / figures
↓
Private GitHub repository
↓
Push or merge into production branch
↓
Cloudflare automatically builds the Jupyter Book
↓
Cloudflare deploys the updated site
↓
Cloudflare Access authenticates authorized lab members
↓
Lab members view the latest active research report

Where Everything Lives