Stored encrypted using gpg, in a git repo which is synced using syncthing: https://www.passwordstore.org/
https://latacora.micro.blog/2019/07/16/the-pgp-problem.html
Edit: an alternative for file encryption is age, fast simple and secure. Signing is signify.