sched: custom single-binary (embedded engine+admin api+morda+mcp+maria) — artifacts in .admin; compose on sched-custom
This commit is contained in:
@@ -25,10 +25,10 @@ updated: 2026-08-27
|
||||
|---|---|
|
||||
| Хост | VDS kzntsv `89.253.255.94` |
|
||||
| Стек Portainer | **Id 28**, name `sched`, endpointId **1** |
|
||||
| Образ | `registry.kzntsv.site/sched-daemon:0.12.1-mysql` |
|
||||
| Образ | `registry.kzntsv.site/sched-custom:0.12.1-mysql` (custom single-binary)
|
||||
| Compose source-of-truth | `admin/host-stacks/vds-kzntsv/sched.compose.yml` |
|
||||
| tasks.json source-of-truth | `admin/host-stacks/vds-kzntsv/sched.tasks.json` → VDS `/opt/stacks/sched/tasks.json` |
|
||||
| Даемон | published `@schedjs/daemon@0.12.1` + `@schedjs/storage-mysql@0.4.0` |
|
||||
| Даемон | published `@schedjs/daemon@0.12.1` + `@schedjs/storage-mysql@0.4.0` + `@schedjs/admin-api@0.3.0` + `@schedjs/mcp@0.4.1` + `@schedjs/ui@0.3.0` |
|
||||
| БД | MariaDB `mariadb:3306` (сеть `shared-dbs`), база `sched`, роль `sched@%`. Креды: `pass sched/mysql` |
|
||||
| Admin API | `https://sched.vds.kzntsv.site` (traefik websecure, letsEncrypt). `SCHED_ADMIN_KEY` = `pass sched/admin-key` |
|
||||
| mem_limit | `512m` (канон app-стеков) |
|
||||
@@ -62,7 +62,14 @@ docker exec mariadb mariadb -uroot -p"$ROOT_PW" -e "
|
||||
```
|
||||
Креды → `pass insert -m sched/mysql` (user/pass/db/host).
|
||||
|
||||
**1. Образ** — собрать (см. выше) → `docker login registry.kzntsv.site -u vitya` → `docker push`. (внешний registry, публичный npm, BuildKit-секрет не нужен).
|
||||
**1. Образ (custom single-binary).** `apps/daemon/Dockerfile.custom` собирает один образ с опубликованными `@schedjs/{daemon,storage-mysql,admin-api,mcp,ui}` + `custom-entry.mjs` — один HTTP-сервер на `:8080`:
|
||||
- `/api/*` → админ API (health open, остальное Bearer `SCHED_ADMIN_KEY`)
|
||||
- `/mcp` → Streamable HTTP MCP (projection of admin API, `SCHED_MCP_READONLY=1` read-only)
|
||||
- `/` → UI morda (web-components)
|
||||
- `/sched-ui.bundle.js` → статический UI-бандл
|
||||
Сборка: `docker build -f apps/daemon/Dockerfile.custom -t registry.kzntsv.site/sched-custom:0.12.1-mysql apps/daemon`.
|
||||
→ ЕДИНЫЙ бинарь: даемон + UI-морда + MCP не плодит отдельные контейнеры (обратная связь vitya).
|
||||
`createDaemon` даёт `engine`+`storage` (admin server НЕ bind — маршрутизация своя). MCP/морда импортируются по **file-URL** (subpath-импорты заблокированы npm `exports`-маской).
|
||||
|
||||
**2. tasks.json.** Ядро стартует с `{"tasks":[]}` (воркеры — отдельными тасками). Закинуть на VDS:
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user