Read all 62 source files (Dev: 37, Homelab: 22, Venture: 3, Reference: 0). Entity pages created (17): - Wiki/Reference: lovebug, jenny, sunnie, n8n, ob1, tailscale, authentik, traefik, cloudflare, obsidian, gitea, plant-based-southerner, claude-code, dispatch, docker - Wiki/Homelab: proxmox - Wiki/Dev: pbs-hub, herbydev Synthesis pages created (2): - Wiki/Homelab/homelab-ingress-stack — four-layer ingress model (Cloudflare + Traefik + Authentik + Tailscale); operational lessons from 10+ source files - Wiki/Dev/ai-memory-architecture — three memory layers (wiki + OB1 + Dispatch context); ingest paths; harness-vs-model design decision All 11 index pages rebuilt (Sources/Dev, Venture, Homelab, Reference, Sources root; Wiki/Dev, Venture, Homelab, Reference, Wiki root; vault root index.md). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
52 lines
2.7 KiB
Markdown
52 lines
2.7 KiB
Markdown
---
|
||
type: entity
|
||
path: Wiki/Dev
|
||
tags:
|
||
- pbs
|
||
- python
|
||
created: 2026-05-08
|
||
updated: 2026-05-08
|
||
---
|
||
|
||
# pbs-hub
|
||
|
||
## What it is
|
||
|
||
pbs-hub is the Python Flask application that consolidates two previously separate services — `pbs-api` and the Content Hub — into a single unified backend for Plant Based Southerner. It provides the API layer for the membership platform (recipe saving, member authentication), the Instagram automation pipeline, and content management. The Blueprint architecture allows modular feature ownership without a full microservices split.
|
||
|
||
## Current state
|
||
|
||
In active development (Phase 5 of Content Hub). Architecture decisions locked:
|
||
- **Blueprint structure** — each major feature area (recipes, membership, instagram, content) is a Flask Blueprint
|
||
- **Database** — `pbs_hub` MySQL DB with tables: `projects`, `platform_posts`, `pbs_recipes`
|
||
- **Auth** — WordPress cookie-based auth for logged-in member verification
|
||
- **Recipe saving** — backend API for The Garden membership saves recipes via `pbs_hub` DB
|
||
|
||
Phase 5 merges `pbs-api` + Content Hub codebases. Prior phases (1–4) built the Instagram automation database schema ("Great Lockout of 2026" workaround), reel detection system, and content tracking.
|
||
|
||
## Where it lives
|
||
|
||
- PBS Linode Docker stack (`pbs-hub` service)
|
||
- Behind Traefik ingress
|
||
- Git: PBS project repo (Gitea + GitHub)
|
||
- DB: `pbs_hub` on shared MySQL instance in PBS stack
|
||
|
||
## Related projects
|
||
|
||
- [[Sources/Dev/content-hub-phase5-architecture|content-hub-phase5-architecture]] — Phase 5 merge plan
|
||
- [[Sources/Dev/content-hub-phase5-planning|content-hub-phase5-planning]] — planning decisions
|
||
- [[Sources/Dev/content-hub-database-schema|content-hub-database-schema]] — DB schema
|
||
- [[Sources/Dev/pbs-membership-loe1-recipe-saving|pbs-membership-loe1-recipe-saving]] — recipe save API
|
||
- [[Sources/Dev/instagram-automation-content-hub-plan|instagram-automation-content-hub-plan]] — master automation plan
|
||
- [[Sources/Dev/instagram-automation-session-notes|instagram-automation-session-notes]] — schema created
|
||
- [[Sources/Dev/instagram-reel-sync-phase4|instagram-reel-sync-phase4]] — reel detection system
|
||
- [[Sources/Dev/pbs-api-db-connection-fix|pbs-api-db-connection-fix]] — pool_pre_ping connection fix
|
||
- [[Wiki/Reference/plant-based-southerner|plant-based-southerner]] — parent entity
|
||
|
||
## History
|
||
|
||
- **2026** — MySQL schema created for Instagram automation; "Great Lockout of 2026" workaround implemented
|
||
- **2026** — Three-tier reel detection system designed (Phase 4)
|
||
- **2026** — DB connection fix: `pool_pre_ping=True`, `pool_recycle=1800`
|
||
- **2026** — Phase 5 architecture planned: merge pbs-api + Content Hub into Blueprint Flask app
|