running your own email is the hardest part of the list, imho. even deployments technicalities aside, your server needs ''reputation" to not get into spam. i ended up just paying for protonmail.
about frontend dev: you can now do a lot without js or with minimal vanilla js, without npm hell. get a good css framework, get a template engine for your backend of choice, and that should serve you well.