109 lines
3.1 KiB
YAML
Executable file
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
|