fix: pin Tasker deploy runner compose project

This commit is contained in:
Codex 2026-06-24 20:12:09 +03:00
parent f8c19d712a
commit 92feff97e6
3 changed files with 52 additions and 0 deletions

View File

@ -92,6 +92,7 @@ COMPONENTS = {
"tasker": {
"payload_root": Path("/volume1/docker/nodedc-platform/tasker"),
"compose_root": Path("/volume1/docker/nodedc-platform/tasker/plane-app"),
"compose_project": "nodedc-tasker",
"compose_env_file": Path("/volume1/docker/nodedc-platform/tasker/plane-app/.env.synology"),
"compose_files": (
Path("/volume1/docker/nodedc-platform/tasker/plane-app/docker-compose.yaml"),
@ -778,7 +779,22 @@ def component_compose_root(component):
return COMPONENTS[component].get("compose_root", component_root(component))
def component_compose_project(component):
return COMPONENTS[component].get("compose_project")
def component_services(component, entries=None):
if component == "tasker" and entries is not None:
selected = ["api", "worker", "beat-worker", "web"]
touches_compose = any(
rel in ("plane-app/docker-compose.yaml", "plane-app/docker-compose.synology.override.yml")
for rel in entries
)
touches_proxy = any(rel == "plane-src/apps/proxy/Caddyfile.ce" for rel in entries)
if touches_compose or touches_proxy:
selected.append("proxy")
return tuple(selected)
if component == "platform" and entries is not None:
selected = []
@ -921,6 +937,9 @@ def plan_artifact(artifact):
print(f"type={manifest['type']}")
print(f"payload_root={root}")
print(f"compose_root={compose_root}")
compose_project = component_compose_project(component)
if compose_project:
print(f"compose_project={compose_project}")
for build_root, build_args in builds:
print(f"build_root={build_root}")
print(f"build={' '.join((str(DOCKER),) + tuple(build_args))}")
@ -1037,6 +1056,9 @@ def run_build(component, entries=None):
def compose_base_cmd(component):
cmd = [str(DOCKER), "compose"]
compose_project = component_compose_project(component)
if compose_project:
cmd.extend(["-p", compose_project])
env_file = component_compose_env_file(component)
if env_file:
cmd.extend(["--env-file", str(env_file)])

View File

@ -10,6 +10,29 @@
- Внутренний HTTP edge использует `18080`, AI Workspace Hub — `18081`, Tasker upstream — `18090`, BIM Viewer upstream — `18100`, Ops Agents Gateway upstream — `18190`.
- Старые порты `9000` и `5678` заняты старым `nodedc-demo` и не используются.
## Deploy runner
`nodedc-deploy` is managed outside the platform runtime tree. The synced install candidate lives in:
```text
/volume1/docker/nodedc-deploy/runner-install/nodedc-deploy
```
The live root-owned runner is:
```text
/usr/local/sbin/nodedc-deploy
```
`deploy-current.sh` syncs the runner candidate into `runner-install`. Promoting it to live is explicit:
```bash
sudo install -o root -g root -m 0755 \
/volume1/docker/nodedc-deploy/runner-install/nodedc-deploy \
/usr/local/sbin/nodedc-deploy
sudo /usr/local/sbin/nodedc-deploy verify-install
```
## Текущие внешние домены
```text

View File

@ -4,6 +4,7 @@ set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
PLATFORM_REPO="$(cd -- "${SCRIPT_DIR}/../.." && pwd)"
NAS_ROOT="${NAS_ROOT:-/Volumes/docker/nodedc-platform}"
DEPLOY_ROOT="${DEPLOY_ROOT:-$(cd -- "${NAS_ROOT}/.." && pwd)/nodedc-deploy}"
LAUNCHER_REPO="${LAUNCHER_REPO:-}"
TASKER_REPO="${TASKER_REPO:-}"
TASKER_SYNC_SOURCE="${TASKER_SYNC_SOURCE:-0}"
@ -45,6 +46,12 @@ rsync -av "${RSYNC_METADATA_ARGS[@]}" \
"${PLATFORM_REPO}/infra/synology/clear-authentik-brand-css.sh" \
"${NAS_ROOT}/platform/"
mkdir -p "${DEPLOY_ROOT}/runner-install"
rsync -av "${RSYNC_METADATA_ARGS[@]}" \
"${PLATFORM_REPO}/infra/deploy-runner/nodedc-deploy" \
"${DEPLOY_ROOT}/runner-install/nodedc-deploy"
chmod 0755 "${DEPLOY_ROOT}/runner-install/nodedc-deploy"
mkdir -p "${NAS_ROOT}/platform/notification-core"
rsync -av "${RSYNC_METADATA_ARGS[@]}" --delete \
--exclude='node_modules/' \