Software update information
How to move a Proventory deployment to a newer version, and what to expect.
Before every update
- Back up the database. Use your provider's snapshot (Neon: create a branch or snapshot; others: a managed backup). Updates change the database structure, and a backup is the only way to undo that.
- Read the Release notes for anything marked "action needed".
- Update a staging copy first if you have one.
Updating on Vercel (recommended)
- Merge or push the new version to your production branch.
- Vercel builds it. When
DIRECT_URLis set, the build applies new database migrations and refreshes the restricted database role by itself. - Open the site, sign in, and check the dashboard, a sale and an invoice.
- If a build fails, the previous version keeps serving traffic. Read the build log: the failing step is named.
Updating a Docker or server install
git pull # or unpack the new release
npm ci
npx prisma migrate deploy
npm run db:roles
npm run build
# restart the app (and the worker, if you run one)
Use the same DATABASE_URL (restricted role) and DIRECT_URL (owner) as before.
What to expect
- Migrations only move forward. Each update may add tables or columns. Existing data is kept.
- No downtime planning is normally needed, but run the update at a quiet time. Pages that are open during the update may need a refresh.
- Settings and secrets are not reset. Keep
APP_SECRETunchanged: changing it makes stored two-factor seeds and payment keys unreadable. - Scheduled jobs (reminders, digests, retries) keep running through Vercel Cron or the worker.
Rolling back
- Redeploy the previous version (Vercel: Deployments, choose the old one, Promote).
- If the update changed the database, restore the backup you took first. Rolling the code back alone is not always safe after a migration.
How we version
Versions look like 1.2.3. A change in the first number may need extra steps. A change in the second adds features. A change in the third fixes problems. Every release is listed in the Release notes.