NODEDC_TASKMANAGER/docs_prod/NODEDC_TASKER_DEPLOY_MODEL.md

68 lines
2.3 KiB
Markdown

# 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.