Add Sites Renderer service to Docker Compose and implement public endpoint for site definitions

- Introduced `igny8_sites` service in `docker-compose.app.yml` for serving deployed public sites.
- Updated `SitesRendererAdapter` to construct deployment URLs dynamically based on environment variables.
- Added `SiteDefinitionView` to provide a public API endpoint for retrieving deployed site definitions.
- Enhanced `loadSiteDefinition` function to prioritize API calls for site definitions over filesystem access.
- Updated frontend to utilize the new API endpoint for loading site definitions.
This commit is contained in:
IGNY8 VPS (Salman)
2025-11-18 19:32:06 +00:00
parent 49ac8f10c1
commit d696d55309
7 changed files with 130 additions and 18 deletions

View File

@@ -198,10 +198,16 @@ class SitesRendererAdapter(BaseAdapter):
Returns:
str: Deployment URL
"""
# TODO: Implement URL generation based on site configuration
# For now, return placeholder
site_id = site_blueprint.site.id
return f"https://{site_id}.igny8.com" # Placeholder
# Get Sites Renderer URL from environment or use default
sites_renderer_host = os.getenv('SITES_RENDERER_HOST', '31.97.144.105')
sites_renderer_port = os.getenv('SITES_RENDERER_PORT', '8024')
sites_renderer_protocol = os.getenv('SITES_RENDERER_PROTOCOL', 'http')
# Construct URL: http://31.97.144.105:8024/{site_id}
# Sites Renderer routes: /:siteId/* -> SiteRenderer component
return f"{sites_renderer_protocol}://{sites_renderer_host}:{sites_renderer_port}/{site_id}"
# BaseAdapter interface implementation
def publish(