diff --git a/docs_prod/NODEDC_TASKER_DEPLOY_MODEL.md b/docs_prod/NODEDC_TASKER_DEPLOY_MODEL.md index bbf87fd..2131b67 100644 --- a/docs_prod/NODEDC_TASKER_DEPLOY_MODEL.md +++ b/docs_prod/NODEDC_TASKER_DEPLOY_MODEL.md @@ -32,6 +32,19 @@ Backend integration: - `PLANE_NODEDC_WORKSPACE_POLICY_URL` - `PLANE_NODEDC_ACCESS_CHECK_URL` - `PLANE_NODEDC_ACCESS_TOKEN` +- `NODEDC_ENGINE_DOCKER_NETWORK` +- `PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL` +- `PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TOKEN` + +AI Workspace Console uses the shared Platform `ai-workspace-assistant` service. Tasker does not connect to AI Workspace Hub directly. The Tasker backend containers must be attached to the same Docker network as Platform/Engine through `NODEDC_ENGINE_DOCKER_NETWORK`; on NAS this is currently `nodedc-demo_default`, while local development uses `nodedc-platform_default`. + +Use the internal service URL on that shared network: + +```env +PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL=http://ai-workspace-assistant:18082 +``` + +The Assistant generates Codex worker installers with the public Hub endpoint `wss://ai-hub.nodedc.ru/api/ai-workspace/hub`. Do not point Tasker directly at the Hub and do not expose Assistant as a public Nginx/DSM route. Production secrets remain in NAS env files or a secret store. They must not be committed. diff --git a/plane-app/docker-compose.yaml b/plane-app/docker-compose.yaml index 9808d93..c7dd450 100644 --- a/plane-app/docker-compose.yaml +++ b/plane-app/docker-compose.yaml @@ -162,6 +162,9 @@ services: - plane-db - plane-redis - plane-mq + networks: + - default + - nodedc-engine worker: image: nodedc/plane-backend:local @@ -182,6 +185,9 @@ services: - plane-db - plane-redis - plane-mq + networks: + - default + - nodedc-engine beat-worker: image: nodedc/plane-backend:local @@ -202,6 +208,9 @@ services: - plane-db - plane-redis - plane-mq + networks: + - default + - nodedc-engine migrator: image: nodedc/plane-backend:local @@ -220,6 +229,9 @@ services: depends_on: - plane-db - plane-redis + networks: + - default + - nodedc-engine # Comment this if you already have a database running plane-db: @@ -307,3 +319,9 @@ volumes: rabbitmq_data: proxy_config: proxy_data: + +networks: + default: + nodedc-engine: + external: true + name: ${NODEDC_ENGINE_DOCKER_NETWORK:-nodedc-demo_default} diff --git a/plane-app/plane.env b/plane-app/plane.env index 76e22e9..a6e6176 100644 --- a/plane-app/plane.env +++ b/plane-app/plane.env @@ -120,6 +120,7 @@ PLANE_NODEDC_WORKSPACE_POLICY_TIMEOUT_SECONDS=3 PLANE_NODEDC_AGENT_GATEWAY_URL=http://host.docker.internal:4100 PLANE_NODEDC_AGENT_GATEWAY_TOKEN=local-dev-codex-agent-gateway-token-change-me PLANE_NODEDC_AGENT_GATEWAY_TIMEOUT_SECONDS=5 -PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL=http://host.docker.internal:18082 +NODEDC_ENGINE_DOCKER_NETWORK=nodedc-platform_default +PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL=http://ai-workspace-assistant:18082 PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TOKEN=dev-ai-workspace-assistant-token PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TIMEOUT_SECONDS=8 diff --git a/plane-app/plane.env.example b/plane-app/plane.env.example index 03dbdb0..4bf3478 100644 --- a/plane-app/plane.env.example +++ b/plane-app/plane.env.example @@ -90,6 +90,7 @@ PULL_POLICY=if_not_present CUSTOM_BUILD=false # NODE.DC AI Workspace Assistant -PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL= +NODEDC_ENGINE_DOCKER_NETWORK=nodedc-platform_default +PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL=http://ai-workspace-assistant:18082 PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TOKEN= PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TIMEOUT_SECONDS=8 diff --git a/plane-app/plane.env.staging.example b/plane-app/plane.env.staging.example index 867ed0a..cca35df 100644 --- a/plane-app/plane.env.staging.example +++ b/plane-app/plane.env.staging.example @@ -97,6 +97,7 @@ PLANE_NODEDC_WORKSPACE_POLICY_TIMEOUT_SECONDS=3 PLANE_NODEDC_AGENT_GATEWAY_URL=https://codex-api.staging.nodedc.example PLANE_NODEDC_AGENT_GATEWAY_TOKEN=replace-with-codex-agent-gateway-internal-token PLANE_NODEDC_AGENT_GATEWAY_TIMEOUT_SECONDS=5 +NODEDC_ENGINE_DOCKER_NETWORK=nodedc-demo_default PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_URL=http://ai-workspace-assistant:18082 PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TOKEN=replace-with-ai-workspace-assistant-token PLANE_NODEDC_AI_WORKSPACE_ASSISTANT_TIMEOUT_SECONDS=8