Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Extract blog-specific code from the coop monolith into a standalone repository. Includes auth, blog, post, admin, menu_items, snippets blueprints, associated templates, Dockerfile (APP_MODULE=app:app), entrypoint, and Gitea CI workflow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
# Blog App
|
|
|
|
Blog and content management application for the Rose Ash cooperative platform.
|
|
|
|
## Overview
|
|
|
|
This is the **blog** service extracted from the Rose Ash (Suma Browser) monolith.
|
|
It handles:
|
|
|
|
- **Blog**: Ghost CMS integration for browsing, creating, and editing posts
|
|
- **Auth**: Magic link authentication and user account management
|
|
- **Admin/Settings**: Administrative interface and settings management
|
|
- **Menu Items**: Navigation menu item management
|
|
- **Snippets**: Reusable content snippet management
|
|
- **Internal API**: Server-to-server endpoints for cross-app data sharing
|
|
|
|
## Tech Stack
|
|
|
|
- **Quart** (async Flask) with HTMX
|
|
- **SQLAlchemy 2.0** (async) with PostgreSQL
|
|
- **Redis** for page caching
|
|
- **Ghost CMS** for blog content
|
|
|
|
## Running
|
|
|
|
```bash
|
|
# Set environment variables (see .env.example)
|
|
export APP_MODULE=app:app
|
|
|
|
# Run migrations
|
|
alembic upgrade head
|
|
|
|
# Start the server
|
|
hypercorn app:app --bind 0.0.0.0:8000
|
|
```
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
docker build -t blog .
|
|
docker run -p 8000:8000 --env-file .env blog
|
|
```
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
app.py # Application factory and entry point
|
|
bp/ # Blueprints
|
|
auth/ # Authentication (magic links, account)
|
|
blog/ # Blog listing, Ghost CMS integration
|
|
post/ # Individual post viewing and admin
|
|
admin/ # Settings admin interface
|
|
menu_items/ # Navigation menu management
|
|
snippets/ # Content snippet management
|
|
coop_api.py # Internal API endpoints
|
|
templates/ # Jinja2 templates
|
|
_types/ # Feature-specific templates
|
|
entrypoint.sh # Docker entrypoint (migrations + server start)
|
|
Dockerfile # Container build definition
|
|
```
|