Docker: repair after 2.98.5 to 2.98.7 (#532)
Docker installs created before June 2026 (and some created later) did not record which database migrations they had run. From 2.98.5 the container runs migrations through the proper runner, and on those installs it ran old migrations again over existing data. Most of that did nothing, but some changes were real:
- Agents could no longer connect ("Permission denied (publickey)") when the storage path was not
/var/bbs/home: each client's SSH home folder was pointed at a folder without its keys (#532). - Every schedule's timezone was set to America/New_York.
- Every client was put back on the default client profile.
- Each user's storage alert level was reset to the global one.
- Client owners were given all permissions on all of their clients.
- Duplicate backup templates, and a duplicate "Default" storage location on every restart. The log showed "MIGRATION FAILED" on every start.
This release stops that and repairs it on the first start:
- Old migrations are recorded as applied the way the container used to run them, and are not run again.
- Client SSH home folders are restored. If no backup is available, the container finds the folder that holds each client's keys.
- Schedule timezones, client profiles and storage alert levels are restored from the newest server backup taken before the update, where the value is still the one the update wrote. Server backups are kept for 7 days by default, so update soon.
- The extra permissions, duplicate templates and duplicate storage locations are removed.
The activity log lists what was repaired. If it says no server backup was found, check schedule timezones, client profiles and storage alert levels by hand.
Bare-metal installs were not affected. Fresh Docker installs also had their default backup templates added twice, which is cleaned up too.