Two ways to do it. One is to use a hosting from another company other than GoDaddy. You would make a backup of your entire site, including databases, download that to (say) your local computer at home, then restore it to the new hosting server. If GoDaddy is still your domain registrar, then you will have to update their domain name (DNS) servers to point to the new host.
Second way is to host it yourself from home. Depending on the kind of internet service you have, the site might be slow to people looking at your page, and you might have to either upgrade or change ISP's. Ideally, you would get a static IP from your service provider (my provider gives one free), and then point your DNS servers to that. Otherwise, you can use the no-ip solution mentioned above. You will also need to configure your home firewall to forward port 80 and any other ports you need.
In fact, I have my own server running at home. It runs on a small netbook, using 6 watts. In theory, I could run it on a Raspberry Pi, and use only 2 watts. If you use a regular computer, or especially one designed to be server, expect it to use a lot of power, as it will probably stay on 24/7. Also, when you have your own server, all the maintenance is on you - making backups, deciding which patches to take, etc. Only do it if you consider this kind of thing fun. My server only has 1 Mbps (100k bytes) of upload speed, so that's about the maximum speed that someone gets when loading pages from it. If the site ever became popular, I would likely have to go with an external hosting service.