# NODE.DC Tasker deploy model ## Source of truth `NODEDC_TASKMANAGER` is the source repository for Tasker code and Docker build inputs. The NAS directory `/volume1/docker/nodedc-platform/tasker/plane-src` is a deploy checkout/copy only. It must not become the long-term source of truth. Runtime state stays outside the repository: - PostgreSQL data: Docker volume `nodedc-tasker_pgdata` - Redis data: Docker volume `nodedc-tasker_redisdata` - RabbitMQ data: Docker volume `nodedc-tasker_rabbitmq_data` - MinIO uploads: Docker volume `nodedc-tasker_uploads` - NAS environment files: `/volume1/docker/nodedc-platform/tasker/plane-app/.env.synology` ## Environment contract The same codebase supports local and production-like runs. The deployment mode is selected by environment variables and Docker build args, not by branching the code. Frontend brand and launcher integration: - `VITE_NODEDC_LAUNCHER_URL` points the web/admin bundles to Launcher. - Production default for NAS builds: `https://hub.nodedc.ru` - Local default in source helpers: `http://launcher.local.nodedc` Backend integration: - `PLANE_NODEDC_LAUNCHER_URL` - `PLANE_NODEDC_LAUNCHER_PUBLIC_URL` - `PLANE_NODEDC_HANDOFF_URL` - `PLANE_NODEDC_WORKSPACE_POLICY_URL` - `PLANE_NODEDC_ACCESS_CHECK_URL` - `PLANE_NODEDC_ACCESS_TOKEN` Production secrets remain in NAS env files or a secret store. They must not be committed. ## NAS legacy rebuild The current NAS-compatible script lives in `plane-src/rebuild-nas-legacy.sh`. Default production-style web rebuild: ```sh cd /volume1/docker/nodedc-platform/tasker/plane-src BUILD_BACKEND=0 BUILD_WEB=1 BUILD_ADMIN=0 sh rebuild-nas-legacy.sh ``` Local/staging-style rebuild can override integration endpoints: ```sh VITE_NODEDC_LAUNCHER_URL=http://launcher.local.nodedc \ SMOKE_BASE_URL=http://task.local.nodedc:18080 \ SMOKE_RESOLVE= \ BUILD_BACKEND=0 BUILD_WEB=1 BUILD_ADMIN=0 \ sh rebuild-nas-legacy.sh ``` The script recreates only services whose images were rebuilt. It must not remove Docker volumes. ## Safety rules - Do not run `docker compose down -v` on production/staging data. - Do not delete `nodedc-tasker_*` Docker volumes without a verified backup. - Run database backups before backend migrations. - Frontend-only rebuilds do not modify PostgreSQL or MinIO data. - Backend image rebuilds are safe only when no destructive migration or data command is included.