Updating Vexon Commerce
Nothing updates itself. Here's how to see what you're running, and update when you choose.
What you're running
The version shows at the bottom of the admin's menu, in Settings › Updates and at /api/health. Set APP_VERSION when you build from a release so it shows the right number.
If VEXON_UPDATE_MANIFEST_URL is set, Settings › Updates checks for a newer version when you open it, and shows what's changed. It only sends your current version. Without that setting, nothing checks.
What version numbers mean
- Patch (1.2.3 to 1.2.4): fixes only.
- Minor (1.2 to 1.3): new features, switched off until you turn them on.
- Major (1.x to 2.0): you have something to do first, such as a setting that changed. The release notes say what.
Update
- 1
Back up
Back up the database and your storage bucket first. See Backups and restoring. Always do this before a major version.
- 2
Get the new version and rebuild
Put the new code in place, then build the image again.
Terminal$ cd /opt/vexon-commerce$ docker build -t vexon-commerce . - 3
Restart
Replace the running container with one from the new image. It brings the database up to date before it opens to shoppers.
Terminal$ docker stop vexon-commerce && docker rm vexon-commerce$ docker run -d --name vexon-commerce \ --restart unless-stopped \ --env-file .env -p 3000:3000 vexon-commerce - 4
Check it
Check
/api/healthshows the new version, then sign in to the admin.
If Settings › Updates says the minimum version isn't met, install the version it names first, then this one.
If something goes wrong
Database updates only go forward. To go back, build the previous version and start it. If the update changed the database in a way the old version can't read, restore the backup you made first, then start the old version.