One server per box is worth money to achieve. When you have a git server running on the same box as (say) your web server, you cannot reboot, upgrade, reinstall, power down, or power up one service without affecting the other. You can't switch server hostnames or IPs without potentially affecting your git users. You can't develop on an EC2 instance that you spin up and down as needed because git needs to be more reliable than that.
I guess it might be okay to run git on my mail server. Except I don't have a mail server: That's outsourced. (Way too much trouble to run for oneself.) All I run for myself is local machines (not about to serve from those -- poor uptime, firewalls are a pain) and web/database servers, and I don't want the constraint of even having to remember that git is running on one of them. I want a git setup that is out of sight, out of mind, and far away from my bumbling sysadmin (a.k.a. "me").
And we're haggling over the price of github, here. It's dirt cheap.
I can see the problem if you're doing everything with EC2.
One point, however:
> You can't switch server hostnames or IPs without potentially affecting your git users.
Yes, you can. Computers should have:
* One or more IP addresses.
* A hostname that is attached to that computer, and only that computer, such as thor.example.com
* Hostnames that are attached to services on computers, such as git.example.com, mail.example.com, www.example.com, and so on. You can change these to point where they're needed, so as to not cause any interruptions or problems for your users.
> And we're haggling over the price of github, here. It's dirt cheap.
Sure, but I'm cheap, and for my setup, it's money I can save, and it just seems weird to pay for something that's so easy to set up.
Say your time is worth $80/hour, and you can get away with the $7/month github plan. Doing it yourself, if you spend more than ~5 minutes/month on admin, it's not worth it.
I guess it might be okay to run git on my mail server. Except I don't have a mail server: That's outsourced. (Way too much trouble to run for oneself.) All I run for myself is local machines (not about to serve from those -- poor uptime, firewalls are a pain) and web/database servers, and I don't want the constraint of even having to remember that git is running on one of them. I want a git setup that is out of sight, out of mind, and far away from my bumbling sysadmin (a.k.a. "me").
And we're haggling over the price of github, here. It's dirt cheap.