Would you consider a project like https://github.com/authcompanion/authcompanion2 for the authentication side? Missing anything?
I don't like self hosting anything that requires its own process. And if I did decide to self host I would choose a more mature project.
This is a very young one man project delegating the heavy lifting to another one man project. And it doesn't appear to support social logins.