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.