Support multiple accounts in domain web UI
This adds support for multiple user accounts in the domain web UI using HTTP basic authentication.
TODO:
- [x] Prohibit empty usernames
- [x] Prohibit duplicate usernames
- [x] No account ("open access") support
- [x] Create update path for existing configs
- [x] UI detect when attempting to change password to easily allow updating. (The UI does not yet detect when the password fields have been changed, so another setting has to be toggled to give the option to save the new values)
Closes #734
Something I noticed (or failed to) in the config migration steps is that when a migration is preformed on settings, their original settings don't seem to be deleted/removed from the config file. I am assuming this is intentional and as such the existing domain-server account will continue to have the username and password hash in the config.
In case you want GitHub Actions to create server packages: The way it currently works is that it creates server packages when you add the server label. If you push a commit and the server label was already added in the past that doesn't count. In that case, you need to remove the server label and add it again.
That is technically a bug, but since making server packages involves running 12 jobs, this might be a good way of saving infrastructure costs 😅.
In case you want GitHub Actions to create server packages: The way it currently works is that it creates server packages when you add the server label. If you push a commit and the server label was already added in the past that doesn't count. In that case, you need to remove the server label and add it again.
That is technically a bug, but since making server packages involves running 12 jobs, this might be a good way of saving infrastructure costs 😅.
Works for me.