πŸ” Checking Access...
← View Public Site

πŸ“° Community News & Announcements Management

Create, edit, pin featured hero stories, and rearrange community bulletins synced to Cloudflare KV.

Media Title & Excerpt Category Date Featured Hero Actions

πŸŽ‰ Community Traditions & Annual Events Management

Create, edit, reorder, and update annual community tradition cards displayed on the Events & Calendar page.

Media Title & Badge Tag Schedule / Date Button Action Actions

πŸ” Google News Search Topics

Automate local news collection by defining Google News search terms. The system fetches and aggregates matching headlines in real-time.

⚑ Quick-Add Popular Michiana Topics:
Status Search Query Phrase Category Tag Preview Actions

πŸ“‘ Local & Regional RSS News Feeds Catalog

Select from curated Michiana media outlets or add custom RSS/Atom feeds to feature on the Local News page.

πŸ“° Select Outlets from Michiana Directory (1-Click Enable / Disable):
Changes sync automatically to Cloudflare KV

Configured RSS Feed List

Status Outlet / Source Name RSS Feed URL Category Actions

🏒 Local Business Directory Management

Manage local partner businesses, service providers, and sponsor listings.

Status Last Paid Logo Business Name & Tagline Category & Tier Contact Info Actions

πŸ‘₯ Neighborhood Associations & Message Routing

Manage registered committees and the email destination addresses for the contact form.

Association / Committee Name Category Badge Tag Registered Routing Email Actions

πŸ’Ύ Data Backup & Disaster Recovery

Export live database snapshots, restore historical backups with 1-click, and inspect automated rolling retention.

AUTOMATED RETENTION ENGINE
1 Snapshot / 24 Hours

deploy.ps1 automatically triggers scripts/backup.py with a 24-hour rate limit and retains the last 10 historical snapshots.

DISASTER RECOVERY STATUS
Active & Protected

Full-site ZIP archives + JSON database snapshots are safely archived locally in backups/ (git-isolated).

☁️ Cloudflare KV Daily Cloud Snapshots (Last 10 Days)

Automated daily snapshots stored directly at Cloudflare's edge in your KV namespace.

Snapshot Date Dataset Items Cloudflare KV Key Action
Loading cloud snapshots from Cloudflare KV...

CLI Disaster Recovery Commands (Terminal)

If you ever need to rollback via command line:

# Create a forced backup immediately:
python scripts/backup.py --force

# Interactively restore data or full site:
python scripts/restore.py

πŸ›‘οΈ Cloudflare Zero Trust (Access) Setup Instructions

Cloudflare Zero Trust protects this /admin path and your editing APIs at the edge before requests reach your website. Only authenticated emails (via One-Time PIN or Google login) will be granted access.

Step 1: Create an Access Application in Cloudflare Zero Trust

  1. Go to Cloudflare Dashboard β†’ Select Zero Trust in the left sidebar.
  2. Navigate to Access β†’ Applications β†’ Click Add an application.
  3. Select Self-hosted.
  4. Application name: MTOH Community Admin
  5. Application domain / path: Set your domain and path to admin* (e.g. yourdomain.org/admin*).

Step 2: Define Who Can Log In (Access Policy)

  1. Policy name: Allow Committee Leaders
  2. Action: Allow
  3. Configure rules:
    • Selector: Emails β†’ Enter authorized admin emails (e.g. brian@yourdomain.com, board@mtoh-neighbors.org).
    • Or Selector: Access Groups / Emails ending in @mtoh-neighbors.org.
  4. Click Next and Save Application.

Step 3: Cloudflare KV Binding (One-Time Setup)

In Cloudflare Pages Project β†’ Settings β†’ Functions β†’ KV namespace bindings β†’ Bind COMMUNITY_KV to your KV namespace.

πŸ›‘οΈ
Miami Trails & Orchard Heights

Admin Console

Enter the board passcode to continue

Protected by Cloudflare Zero Trust + board passcode.
Unauthorized access is logged.