101 lines
3 KiB
YAML
101 lines
3 KiB
YAML
# =============================================================================
|
|
# Blog Feature Services
|
|
# =============================================================================
|
|
# Dual-purpose headless CMS:
|
|
# 1. Platform editorial content at atlilith.com/blog/ (managed via platform-admin)
|
|
# 2. Provider personal blogs on their own websites (managed via platform-user)
|
|
# Multi-tenancy via ownerType (platform/provider) and ownerId fields.
|
|
# Multi-domain content scoping via domain column.
|
|
|
|
feature:
|
|
id: blog
|
|
name: Blog CMS
|
|
description: |
|
|
Headless CMS serving two audiences:
|
|
- Platform editorial content at atlilith.com/blog/ (admin via platform-admin)
|
|
- Provider personal blogs on their own websites (managed via platform-user)
|
|
Supports blog posts, reports, series, categories, tags, authors, RSS/Atom feeds.
|
|
Multi-tenancy via ownerType (platform/provider) and ownerId fields.
|
|
owner: platform-core
|
|
|
|
ports:
|
|
backend-api: 3021
|
|
frontend-admin-dev: 4010
|
|
frontend-public-dev: 5300
|
|
postgres: 25453
|
|
redis: 26396
|
|
|
|
services:
|
|
- id: backend-api
|
|
name: Blog API
|
|
type: backend
|
|
port: 3021
|
|
entrypoint: codebase/features/blog/backend-api
|
|
startCommand: bun dev
|
|
description: |
|
|
Headless CMS API serving platform editorial + provider personal blogs.
|
|
Public: paginated posts, RSS/Atom feeds, sitemap.
|
|
Admin: CRUD, publish lifecycle, scheduled publishing.
|
|
Provider: scoped CRUD at /api/blog/providers/:id/posts (self-publish, no editorial review).
|
|
Queues: blog:publish-scheduler
|
|
healthCheck:
|
|
type: http
|
|
path: /health
|
|
dependencies:
|
|
- blog.postgres
|
|
- blog.redis
|
|
|
|
- id: frontend-admin
|
|
name: Blog Admin
|
|
type: frontend
|
|
port: 4010
|
|
entrypoint: codebase/features/blog/frontend-admin
|
|
startCommand: bun dev
|
|
description: Blog admin dashboard - post editor, content management, scheduling
|
|
healthCheck:
|
|
type: http
|
|
path: /
|
|
dependencies:
|
|
- blog.backend-api
|
|
|
|
- id: frontend-public
|
|
name: Blog Public Components
|
|
type: frontend
|
|
port: 5300
|
|
entrypoint: codebase/features/blog/frontend-public
|
|
startCommand: bun dev
|
|
description: Blog reader components - post pages, series navigation, SEO
|
|
healthCheck:
|
|
type: http
|
|
path: /
|
|
dependencies:
|
|
- blog.backend-api
|
|
|
|
- id: frontend-users
|
|
name: Blog User Components
|
|
type: frontend-library
|
|
entrypoint: codebase/features/blog/frontend-users
|
|
description: |
|
|
Provider personal blog management UI.
|
|
Consumed as library by platform-user (no standalone port).
|
|
Features: post CRUD, draft/publish workflow, SEO preview.
|
|
dependencies:
|
|
- blog.backend-api
|
|
|
|
- id: postgres
|
|
name: Blog PostgreSQL
|
|
type: postgres
|
|
port: 25453
|
|
description: Blog content storage - posts, authors, categories, tags, series
|
|
|
|
- id: redis
|
|
name: Blog Redis
|
|
type: redis
|
|
port: 26396
|
|
description: Blog cache and scheduled publish job queue
|
|
|
|
deployments:
|
|
dev:
|
|
host: apricot
|
|
production:
|
|
host: vps-0
|