I’m looking to build a multi-purpose home development server. In this post, I’m looking to outline what I want from such a system, and the ‘why’s of it, to some limited extent, and finally, some rudiments of how I’m looking to go about that.
I’m mostly a developer, with just about some sysadmin familiarity. So, please excuse, correct me, and suggest on any ignorance which would come across in the following ;-)
It will serve the following goals to start with:-
- NAS (Looking at using ZFS)
- Source control repo e.g Git server
- Database e.g MySQL server
- Continuous Integration e.g Hudson server
- Other stuff as and when they come up e.g RabbitMQ etc
- A development sandbox to play around with new stuff
I want to achieve a high uptime for 2-5 as much as possible. They should run as independent services and with minimal maintenance. (e.g TurnKey Linux appliances) I’m thinking of running them as individual Xen DomUs. Then, maybe the NAS can be a Dom0 and 6 can be another DomU.
The User for this would be mostly me. I can see 2-4 being sometimes used by 2-3 users, but that would be infrequent.
I’m looking for a repeatable setup. Ideally I’d like to automate this setup through Chef or Puppet or something similar.
Once everything runs, I want to be able to ssh/screen/tmux into 1-6 from my laptop or any other computer on the LAN/on-the-go.
My queries are:-
- Is putting 1-6, all of them on a single box, a good idea? If so, what kind of hardware should I be looking at, for a low-cost, low-power setup?
- Although not at present, but in future I might be looking at adding audio/media servers to the mix. Would that impact the answers to 1>?
- I have an old Pentium 3 and 810e motherboard combination. Is there any way I could put it to use?
- I had a look at the Sheevaplug, and was wondering if I could split off the NAS on its own using that. But ruled it out preliminarily due to its reported heating issues. Is it something i should still consider?
Thanks in advance