Most home ISP's will not allow you to run a website from your house service in their TOS. They also will typically block port 25 for MTA sending.
So you will have to find a ISP provider that allows hosting, and many of those charge a business rate. To be reliable they will also usually want to be a fiber feed to your house and the speed needs to be synchronous instead of the more normal asynchronous that a residential service will usually be. You will need at least 1 static IP from your provider.
Then of course you are going to need a decent router and firewall solution (hardware based recommended). And don't forget a server level computer for the hosting.
Let's not forget the administration overhead that running your own setup also entails. Ultimately, it's less stressful (and frequently cheaper) to just obtain a server from a dedicated service provider. A local business I help with recently obtained a dedicated 50/50 synchronous fiber pull into their business. They are having to pay around $800 a month just for the fiber itself with a single static IP. You can get a LOT more bandwidth a decent server for that from almost any hosting provider and they deal with the networking headaches and hardware issues.