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 a1eaba5119
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m24s
Replace shared_lib submodule with shared for decoupling deploy
- Swap shared_lib submodule → shared (tracking decoupling branch)
- Dockerfile: shared_lib/ → shared/, remove bp symlink hack
- entrypoint.sh: cd shared for alembic upgrade head
- CI: trigger on decoupling branch, use dynamic ref_name

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 13:29:21 +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%