platform-codebase/features/seo/services.yaml

109 lines
3.1 KiB
YAML
Executable file

# =============================================================================
# SEO
# =============================================================================
# Search engine optimization and metadata generation
feature:
id: seo
name: SEO Service
description: Search engine optimization, metadata generation, and content validation
owner: platform-core
ports:
api: 3014
frontend-admin: 4004
frontend-public: 4003
postgresql: 5436
redis: 6383
# NOTE: SEO uses infrastructure.minio:9000 (shared) instead of dedicated MinIO
# NOTE: SEO generation services (imajin, classifier, cot-reasoning, rag-retrieval)
# have been moved to platform-dev feature - they are dev-only content generation tools
services:
- id: api
name: SEO API
type: api
port: 3014
entrypoint: codebase/features/seo/backend-api
description: SEO service API
config:
imajin_url: http://localhost:8180
healthCheck:
type: http
path: /api/seo/health
dependencies:
- seo.postgresql
- seo.redis
- infrastructure.minio
devDependencies:
- platform-dev.seo.imajin # Image generation (now in platform-dev) - optional for basic SEO functionality
- id: ml-service
name: SEO ML Service
type: ml
port: 8185
entrypoint: codebase/features/seo/ml-service
startCommand: "source .venv/bin/activate && cd python && python -m uvicorn lilith_seo_service.app:create_seo_service_sync --factory --host 0.0.0.0 --port ${PORT:-8185}"
description: SEO ML service with embedded LLM (Python)
gpu: true
healthCheck:
type: http
path: /health
dependencies:
- infrastructure.redis
- seo.redis
- truth-validation.api
- id: frontend-admin
name: SEO Admin Frontend
type: frontend
port: 4004
entrypoint: codebase/features/seo/frontend-admin
description: SEO admin interface
healthCheck:
type: http
path: /admin/seo/
- id: frontend-public
name: SEO Public Frontend
type: frontend
port: 4003
entrypoint: codebase/features/seo/frontend-public
description: Public SEO content display
healthCheck:
type: http
path: /
- id: postgresql
name: SEO Database
type: postgresql
port: 5436
description: SEO content and metadata storage
- id: redis
name: SEO Cache
type: redis
port: 6383
description: SEO content cache
healthCheck:
type: tcp
# NOTE: SEO uses infrastructure.minio (shared MinIO) with bucket namespacing
# Dedicated SEO MinIO removed - use infrastructure.minio:9000 instead
# NOTE: SEO generation services (imajin, classifier, cot-reasoning, rag-retrieval)
# have been MOVED to platform-dev/services.yaml
# These are dev-only content generation tools, not production serving services
# Production serves pre-generated content from the database
deployments:
dev:
host: apricot
autostart: true # Changed from false - now managed via seo.shared deployment
domain: seo.shared # Changed from www.trustedmeet.local - shared across www domains
staging:
host: black
subdomain: next.seo
production:
host: vps-0
domain: seo.atlilith.com