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 used an Acer Predator Helios 300 with the following capabilities:

  • 8th Generation Intel Core i7-8750H (6 cores)
  • 16 GB DDR4 2666 MHz
  • 256 GB PCIe NVMe SSD

OS

I installed Ubuntu 22.04.2 LTS as the server OS—it’s familiar and stable for my use case.

The software

I dockerize most services for easier management. I use Portainer to manage containers and Heimdall as an app dashboard to access services with one click.

  • App dashboard: Heimdall for quick access to installed apps.
  • File browser: File Browser running in a container for managing files.
  • Metrics & monitoring: Grafana (and associated exporters) for dashboards and health checks.
  • Home automation: Home Assistant for device integration, cameras, and energy monitoring.
  • DNS / network: Pi-hole for DNS-level ad blocking and network control.

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.