Experiment: Running a home server on a chrome box

Status: Running

I’m new to the self hosting server game. And in retrospect, this is kind of embarrassing to not foresee that this would not work TBH. Let’s start with the story.

My friend has a old Mini PC lying around which was unused. Since I was currently running Tipi on my Thinkpad & kind of abusing it. I wanted to move to a more sustainable solution. So, I asked for it temporarily to see if I can use it as a home server while I figure out what hardware to buy. Or if it really fits the bill, probably buy it.

On arrival I realized it was a chrome box. Damn it.

Chrome box’s and chrome books are meant to be usually starter level compute boxes. Initially built for Students & Teaching organizations. Hence the doubts. But then this comes with an i5 4th gen or something along that lines. That’s a powerful enough CPU. So I kept my hopes high and kept going.

First mistake: Deciding to run fedora workstation

On my thinkpad, I run tipi on fedora. seems to work alright. So, I thought why not. I was lazy and did not want to experiment.

A non-server OS comes with a couple of problems. Starting with a full graphical install. Power saving modes. By default, disabled SSH. sleep and suspend, login on boot, etc..

Although all of these were manageable, it made more sense to just move to a server based operating system.

So I moved to fedora server instead.

The weird issue of needing a functional display to boot up

SSH was setup on install, the os was pretty good. Everything was sorted on the software front. But interestingly, the system would not boot on power if the HDMI cable was not connected to a display.

This was very weird, because the power was on and the system just did not start. After a lot of googling and some AI assistance, I realised that chrome boxes might have a setting to prevent stale starts, so they had this feature of not switching on the system if the display was not connected. I would have to deep dive into the bios settings to figure out if I could turn this off, but I thought I can live with this for a while and start using the server by manually switching it on every time it switches off.

This was also okay because I had power back up at my place, so once it was on, it rarely switches off.

Heating issues

After installing the server and installing immich. I observed that the server randomly just goes down.

This was unanticipated, after which I installed net data and started looking at temperatures. To see if it was a potential heating issue.

As expected, the CPU was running around 10 3°C. Which is pretty high and naturally, the system was just shutting down.

Chromebooks are not designed for servers. They don’t have great cooling systems. This is obvious, but for some reason, I was optimistic and thought I could wing it.

I could add more cooling into the picture, probably add a fan, et cetera, but I still need to figure out the bios set up.

Conclusion

This is just the beginning of the set up. I have just installed image hosting application. I’m not yet installed Jellyfin, which is my media streaming service of choice. That would be more CPU intensive and probably even GPU intensive if it is present.

If with one application, the system is just heating up and shutting down, there is not a lot of hope in deploying the entire stack.

I have now returned the CPU. Time to be on a lookout for probably a better mini PC.

Learnt about setting up

  • Server operating systems
  • Started looking into network attached storage
  • Learnt a lot about cooling and temperature monitoring, et cetera
  • Learnt about the limitations of using tipi and customs volumes

All in all an interesting experiment of around 5 hours. Need to be on the lookout for the next server now.

The journey continues…