This repository has been archived on 2026-02-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
giles 3e1aa7197b
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m13s
Fix alembic.ini missing + entrypoint CWD safety
Update shared submodule (adds alembic.ini for migrations).
Use subshell for alembic so CWD is never affected by cd shared,
preventing cascading config path errors if migration fails.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:17:28 +00:00

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

# 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

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
Description
No description provided
Readme 815 KiB
Languages
Python 62.2%
HTML 37.1%
Dockerfile 0.4%
Shell 0.3%