Cheap Home Server: Introducing the Thin-Server

A little while ago I finally made the decision that I would like to have a server at home and I was at first fascinated by the SheevaPlug, but many people complained that the powersupply of it would die within weeks, so I needed an alternative but I still didn’t want to use a regular computer because of several disadvantages;

  • It would be to loud
  • It would consume too much energy
  • It would be overkill for my purposes
  • The hardware is relatively expensive

But when I had a look on Ebay, I stumbled upon a Thin-Client, which is essentially a small, low power computer, that is used in companies as something like a next-generation terminal. Since it did only cost 50€ I thought I would just give it a try.

Hardware porn: Click to enlarge!

The Specs of the Thinclient, a HP T5710, are more than suffiecient to run Linux:
It has a 800MHz Transmeta Crusoe TM5700 CPU, which actually is an VLIW processor, that emulates x86 instructions. That is why it is very energy efficient and doesn’t need active cooling. It has 256MB RAM and an embedded ATI GPU. It also was very important for me that it has 4 USB 2.0 ports, so i could easily attach USB Harddrives and the like. Inside the ThinClient there actually is a little SSD connected to a 1,8″ IDE port. But I would need a (very rare) 1,8″ IDE expansion cable to connect anything to that port and thats why I decided to attach (very professionally using duct tape) an external USB-HDD, instead of the IDE port inside. Also, there is a unused PCI slot, where I could plug in a SATA-controller or something in the future. Sadly this PCI slot is not mounted parallel to the mainboard, so I would need a riser card to plug in anything without sticking out of the enclosure. Furthermore there are audio in- and outputs, a parallel port, a serial port, VGA and of course 100MBit LAN.

Unfortunately the CPU lacks a single instruction of the 686 instruction set, which actually is the NO-OP instruction. This instruction is used to tell the CPU to do nothing for one cycle, which is probably used to optimize the handling of some interrupts. I actually don’t know why, but this doesn’t seem to make any difference running arch linux, even though all arch packages are compiled for either i686 or x64 CPUs. (Of course you could just go with any i386 distribution, but I prefer arch linux.)

So I installed arch linux on a external USB harddrive that can be powered by only one USB port by following the instructions in the arch linux wiki. I had to use my desktop computer to do so, because the installation didn’t really work on the Thin Client, but I don’t really have a clue why. I just had to chroot into the new environment to take all the steps from there. After that, there was only one line I had to change in /etc/pacman.conf, because the processor was not recognized as a 686 CPU and pacman refused to update the system.

Now i could install all the packages, like samba and subversion to make the server serve me. The little SSD inside provides a little space (~256MB) for making backups, so that not everything is lost, once the HDD dies.

Since I own a fritz!box, I could just attach the ThinServer via LAN and access it via WiFi. Additionally the Fritz!Box supports DynDNS out-of-the-box, so my little server is now available for me from everywhere all the time.

The Thin Server costs only about 50€, is completely silent, can easily handle the load of running a LAMP, sshd, subversion, samba, cups and only consumes about 15W. I’m using it now for almost one year without ever having any troubles. I assume it could be used as a small workstation as well, but I didn’t try to install X on it. And, of course, “recycling” old hardware is good for the environment.

12 thoughts on “Cheap Home Server: Introducing the Thin-Server

  1. Pingback: Sustainability Hacks: Thin client server | Environmental, Health and Safety News

  2. Why wouldn’t you use some miniITX board with Atom D510 or AMD E-350? Power consumption is nearly the same – about 17-20W with a picoPSU.
    If you want a lower power consumption, try getting a Seagate GoFlex dockstation – after some hacking you would get an ARM SoC running at 1.2GHz with 128M ram, 256M flash memory with SATA, USB and gigabit ethernet ports.

    • I actually thought about going ARM, but in the end I wanted to have a standard x86 system with the same distro as my desktop pc, because I didn’t like the idea of spending to much time getting that thing to work.
      Using an ARM board also is a nice option, but also I think it’s important to reuse hardware if possible.

  3. Pingback: Sustainability Hacks: Thin client server | CisforComputers

  4. Same kind of “machine” served web at my apartment for about 5 years, even without hard drive. It booted debian from 1Gb usb flash, built mostly using instructions from here:
    I just had replaced it’s tiny RAM with 512Mb module.
    Actually there were some differences from those instructions, and some small errors in moo script corrected. And user data was stored on separate partition in the same flash, so it was not compressed like debian image itself.
    Quite secure also, since debian was booting from read-only image!

  5. Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something. I think that you can do with a few pics to drive the message home a little bit, but other than that, this is wonderful blog. A great read. I will definitely be back.

  6. Pingback: rinocerouszs

  7. Hi,
    after struggling basically three days with the same issue of installing and booting linux straight from this box, I wanna report that I’ve got my own server running now.
    It’s a Hp T5710 with 1G RAM (had to upgrade), a 40G external hard drive connected to one of the USB ports, running Ubuntu Servers (Web, SSH, SFTP, Mail, and SVN)

    I bought three of these at a public auction after the hype following the raspberry Pi. I have had them basically laying around collecting dust until I was inspired by your idea. I transformed one of them as a server. Another one is being used to run puppy linux for the kids computer, and I still have one that I need to re-purpose.

    Thanks again for your idea.

  8. Pingback: CherryMusic – A Music Streaming server for your browser | Sleipnir [fomori blog]

Leave a Reply

Your email address will not be published. Required fields are marked *