There is no definite answer for this question since it is highly dependent on your current and future web hosting needs for
the website in question. a small personal website with light traffic will require 50 - 100 MB of storage space
Most ISPs have regulations governing whether you can/can not set up your own hosting (Your Machine/Their Network). I would check with the ISP you expect to use unless you plan to bear the monthly cost of a T1 line. It's recommended to carry a pager and
sign up for a service like Uptime
that will email you and inform you when your server is unreachable. Amount of bandwidth depends on the traffic you expect to have. A generous amount over this is recommended.
Might ask yourself if the cost for home hosting is worth it compared to hosting with an ISP.
There are many available home servers of varying capacities.
Different companies provide different level of plans as per the clients requirement....you should have posted your requirement.