# Loading a new page version on the server

The Passlabb page (`app/seed/page.html` with `app/seed/ops/`) is stored in the database, not served from the file.
After pulling new code, the server's deploy script must load it:

```bash
cd app && node scripts/import-site.mjs --update-code
```

- On a new server it does the first import (page and starting data).
- On a running server it loads the new page code and **keeps the settings your team published from the Ops Hub**
  (packages, prices, photos, texts) and all data. Running it twice changes nothing.
- Without this step the server keeps showing the previous page version (for example, no V1 mark).

`deploy/scripts/deploy.sh` (the VPS script) already runs it. A custom deploy script, such as the one the
GitHub Actions pipeline calls on the server (`~/deploy.sh <commit>`), should run it after `npm ci` and the
migrations (`npm run migrate`), then restart the app.
