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

@@ -101,6 +101,26 @@ services:
- "com.docker.compose.project=igny8-app"
- "com.docker.compose.service=igny8_marketing_dev"
igny8_sites:
# Sites Renderer - serves deployed public sites
# Build separately: docker build -t igny8-sites-dev:latest -f Dockerfile.dev .
# Accessible at http://31.97.144.105:8024 (direct) or via Caddy routing
image: igny8-sites-dev:latest
container_name: igny8_sites
restart: always
ports:
- "0.0.0.0:8024:5176" # Sites renderer port (internal: 5176, external: 8024)
environment:
VITE_API_URL: "https://api.igny8.com/api"
SITES_DATA_PATH: "/sites"
volumes:
- /data/app/igny8/sites:/app:rw
- /data/app/sites-data:/sites:ro # Read-only access to deployed sites
networks: [igny8_net]
labels:
- "com.docker.compose.project=igny8-app"
- "com.docker.compose.service=igny8_sites"
igny8_celery_worker:
image: igny8-backend:latest