diff --git a/infra/deploy-runner/nodedc-deploy b/infra/deploy-runner/nodedc-deploy index c523592..f184a0f 100755 --- a/infra/deploy-runner/nodedc-deploy +++ b/infra/deploy-runner/nodedc-deploy @@ -1053,8 +1053,18 @@ def run_compose(component, services): subprocess.run([*compose_base_cmd(component), "ps"], cwd=str(compose_root), check=True) +def prepare_component_runtime(component): + if component != "bim-viewer": + return + + data_root = component_root(component) / "server" / "data" + for rel in ("uploads", "projects", "shares", "models", "comments"): + (data_root / rel).mkdir(parents=True, exist_ok=True) + + def run_component_runtime(component, entries, services): run_build(component, entries) + prepare_component_runtime(component) run_compose(component, services) diff --git a/infra/synology/README.md b/infra/synology/README.md index 94096ce..c09d915 100644 --- a/infra/synology/README.md +++ b/infra/synology/README.md @@ -279,6 +279,7 @@ The `bim-viewer` runner component: - applies payload under `/volume1/docker/nodedc-platform/bim-viewer/source`; - rejects `.env`, `server/data`, upload/model/comment/share runtime storage, `node_modules`, `.git`, shell hooks and backup files; +- prepares required live runtime directories under `server/data` before compose; - builds `nodedc/bim-converter:local` from `converter/Dockerfile`; - recreates only `ndc-beam-viewer` and `nodedc-bim-converter`; - healthchecks `http://127.0.0.1:18100/api/auth/session`.