Home Server on Docker – I.

As I have recently become very interested in containerisation, primarily in Docker, I decided to re-purpose my old(-ish, bought it 6 years ago) gamer PC into a home server, since I do not game very much, also I just moved onto a new laptop.
The setup is based on an 8-core Intel PC, with 16 GB RAM (overkill, I know).

I have removed the unnecessary parts (it had a Geforce 770 GPU), and – after the Ubuntu Server installation – detached all the peripherals, as I am using this server headless. I have installed the OS, installed Docker and Docker compose, updated it, imported my SSH keys, then cracked-on with the good stuff 😉

What can Docker do for you?

OK, I am probably not going to do the full blown introduction to Docker…there are very good guides on this, or you can check its website. The way I see it, it is a very good way to run an infrastructure efficiently, neatly compartmentalised. I have mainly used this guide, so a big kudos to the author.

My setup

I have not fully completed my mission, but I have so far achieved:

  • 30+ containers running on my host
  • a domain set up with several CNAME, pointing to the host
  • reverse proxy (also in one of the containers), so that I only have to maintain/remember the CNAME-s, not the individual application ports
  • Google oAuth (probably I had the biggest challenge setting up this one – after all I am less of a web/app-dev, more old-school bare-metal operations-guy)

Once I land on the page, I am authenticated via my Google account, and I have access to all my application – all of them is on a separate container, remember – and can manage my audio, video, movie collection, and a bunch of other things.

Back-end

If I need to do changes, update the docker file, etc – I can still do that from the back-end. My favourite tool for the trade is the awesome VSCode (I am not affiliated to them, just sharing…) , which actually has a proper Docker-management plugin, as you can see on the right, where most of my containers are visible.

That is it for now, I might add more details, as time moves on, but I think this is enough for a start.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s