Creating a Home Server

Posted on Jul 29, 2023

Creating a Home Server

It had been a while since I had been postponing setting up the server, mainly because I didn’t have time. After some investigation, I decided to revive an old laptop and transform it into a home server.

The primary reason for creating a home server is to have more control over the services I use daily. Additionally, I want to manage the traffic that goes through my network and decide what to block (firewalls, proxies, etc.). However, the main reason is simply that I enjoy experimenting with these kinds of things.

The Hardware

For this server, I will be using an Acer Predator Helios 300 with the following capabilities:

  • 8th Generation Intel Core i7-8750H 6-Core Processor
  • 16GB DDR4 2666MHz DRAM Memory
  • 256GB PCIe NVMe SSD

OS

I decided to install Ubuntu 22.04.2 LTS on this server because it’s the easiest way for me to get started since I’m used to it.

The Software

To ensure smooth management and organization of all server software, I’ve decided to dockerize everything. For this purpose, I installed Portainer, which will help me efficiently handle all the containers.

  • App Dashboard: I want to have everything in a dashboard so I can access any application with a single click. For this, I installed Heimdall.

  • File Browser: I installed File Browser as a docker image for file management. It can be installed directly from Portainer.

  • Metrics and Monitoring: For this, I will be using Grafana.

  • Home Automation: I rely on Home Assistant for all aspects of home control, including cameras, energy monitoring, and more. It’s fascinating how everything can be seamlessly integrated, from solar energy monitoring to Google Nest devices and thermostats. Considering the breadth of possibilities, I should create a separate post dedicated to exploring the interesting ways in which these integrations work together.

  • DNS Server: I am using Pi-Hole as my DNS server. It was a little bit tricky to install and configure, but now that it’s working, I don’t have any regrets about it.

I hope you find this post helpful if you’re planning to set up your own home server. Feel free to reach out if you have any questions or need more details about any of the mentioned setups!