Back up before every upgrade, and read the release notes for anything you need to change.
Upgrade
- Read the release notes for the target release.
- Stop HMD and back it up (Storage And Recovery).
- Check the release notes for settings that changed, and update your configuration to match.
- Update it the same way you installed it (Install HMD):
- Release binary: download and verify the new release as in install step 1, then replace your
hmdwith it. For a service install:sudo install -m 755 hmd /usr/local/bin/hmd. - Docker Compose: change the tag in
image: ghcr.io/soollabs/holdmydocs:<tag>, then rundocker compose -f compose.local.yaml pullanddocker compose -f compose.local.yaml up -d. - From source:
git checkout <tag>, then rebuild with the Go version in that tag'sgo.mod.
- Release binary: download and verify the new release as in install step 1, then replace your
- Start HMD with the same data folders.
- Sign in, open and save a page, and check the status bar shows sync is working.
After an upgrade administrators may see a Help page changed banner. It means the wiki's .help.md differs from the help text of the new version. Use Reset to built-in in the settings to take the new text, or dismiss the banner to keep your own.
Roll back
- If the new version will not start, put the previous
hmdbinary or image tag back and start it with the same data folders. - If it started and people saved pages, restore your backup instead, or keep the new version and fix the problem: going back loses those saves.
- Never run
git reset --hardon the live repository.
See Storage And Recovery and Troubleshooting.