openvibers/openvibe.live Commits

Production runs the release layout (C-76 done 2026-09-24 05:51 UTC): deploy from /opt/openvibe.live/current; the old checkout files are stale; release ids come from the directory name; the host inventory runs git for Live as root

OP OpenVibers committed 24 Sept 2026 · 9c5aa64fe8 · 2 files, +10 −5


Changes

ddiff --git a/AGENTS.md b/AGENTS.md
iindex 69a722c7..d027a148 100644
---- a/AGENTS.md
++++ b/AGENTS.md
@@@ -21,7 +21,7 @@ BASE=http://127.0.0.1:3000 npm run test:browser # Browser smoke (running server
**No build step.** Frontend is plain JS served directly — no bundler, no transpiler. Asset URLs are content-hashed at serve time (`server/web/assets.js`) — **never add `?v=` by hand**.
--**Deploy:** production path `/opt/openvibe.live`, env `/etc/openvibe/live.env`, unit `openvibe-live.service`. Static-only changes deploy without a restart. See [docs/deploy.md](docs/deploy.md).
++**Deploy:** production runs the release layout (`/opt/openvibe.live/current` → `releases/<time>-<sha>`; deploy with `cd /opt/openvibe.live/current && sudo deploy/scripts/deploy.sh`), env `/etc/openvibe/live.env`, unit `openvibe-live.service`. Static-only changes deploy without a restart. See [docs/deploy.md](docs/deploy.md).
## Architecture at a Glance
ddiff --git a/docs/deploy.md b/docs/deploy.md
iindex 79a22e91..eab48827 100644
---- a/docs/deploy.md
++++ b/docs/deploy.md
@@@ -28,10 +28,15 @@ Clients reconnect with jittered backoff and show "OpenVibe is updating" / "Recon
## Layouts
--**Legacy (current production):** `/opt/openvibe.live` is a git checkout. Static-only changes no longer
--restart. A rollback resets the checkout but cannot restore previous `node_modules`.
--
--**Release layout** (set up once with `deploy/scripts/migrate-to-releases.sh`, one restart):
++**Release layout (production since 2026-09-24 05:51 UTC;** set up once with
++`deploy/scripts/migrate-to-releases.sh`, one restart). Deploy with
++`cd /opt/openvibe.live/current && sudo deploy/scripts/deploy.sh`: the files left in `/opt/openvibe.live`
++from the old checkout are stale, including their copy of this script. The release directories are
++root-owned, so the manifest takes the release id from the directory name (`<time>-<sha8>`), and the
++host inventory runs git for Live as root (`owner: root`, `runAs: ubuntu` for drills).
++
++**Legacy (before 2026-09-24):** `/opt/openvibe.live` was a git checkout. A rollback reset the checkout
++but could not restore previous `node_modules`.
```
/opt/openvibe.live/repo git clone used to create releases