Skip to main content

Home Server Setup (2020 Edition)

··3 mins·
Server
Makoto Morinaga
Author
Makoto Morinaga
A personal notebook for tech notes, coding, and system experiments.
Table of Contents

Home servers are exciting! And I’d love to meet more home server enthusiasts!

It has been over 10 years since I first set up my home server. Over time, my hardware and the services running on it have evolved. In this post, I will introduce my home server setup as of 2020.

Let’s get started!

Hardware Configuration
#

The hardware setup of my home server is as follows:

Initially, I used an Intel CPU, but after several upgrades, I switched to AMD. Recently, multi-core CPUs have become more affordable, which is great.

Component Manufacturer Model Notes
CPU AMD Ryzen 5 2400G 4 cores, 8 threads
CPU Cooler AMD Included with CPU
Motherboard ASRock A320M-ITX Chose Mini-ITX for a compact build
Memory Crucial W4U2666CM-8G 8GB x 2, PC4-21300
SSD (OS) Samsung 860 EVO 500GB 500GB SATA SSD for ESXi installation
SSD (Storage) Western Digital WD Blue SN550 NVMe 1TB NVMe SSD for ESXi datastore
HDD (Storage) Western Digital WD40EZRZ-RT2 (4TB) 4TB HDD for data storage
HDD (Backup) Western Digital WD30EZRZ-RT (3TB) 3TB HDD for backup storage
Power Supply Owltech AS-500 Possibly discontinued
Case RAIJINTEK METIS PLUS BLACK Compact yet spacious enough
Case Fan Scythe SU1225FD12M-RHP Replaced for quieter operation

In addition to the above, I also have several Raspberry Pi devices and IoT gadgets at home.

Operating System (OS)
#

My home server runs ESXi as the main hypervisor, hosting multiple virtual machines. Within these VMs, Docker is actively utilized.

  • Arch Linux (Primary OS, excellent official Wiki documentation)
  • Ubuntu (Used for machine learning tasks, separate GPU workstation)
  • Photon OS (Docker-based infrastructure)
  • Alpine Linux (Used in Docker containers)
  • Windows 10 Pro (For services requiring Windows)

Running Services
#

The main services running on my home server include:

  • OpenVPN (Secure access to my home network from external locations)
  • NextCloud (File sharing similar to Dropbox)
  • Slack Chatbot
  • Discord Chatbot
  • Samba (File sharing within my home network)
  • Media Management Server
  • Proxy Server
  • Home Assistant (IoT device management)

Conclusion
#

While it might not be a reference setup, running a home server is simply fun!

There are benefits and drawbacks, such as learning opportunities, increased electricity bills, and fire safety considerations. However, nothing beats the joy of designing and implementing your own server and network infrastructure—it’s a creator’s dream!

Here’s a summary of pros and cons based on my experience:

  • Pros

    • Gain in-depth knowledge of server and network administration
    • Complete control over hardware and network configurations
    • Ability to host any service you desire
    • Fast local network performance
    • It’s cool and enjoyable
  • Cons

    • Increased electricity costs
    • Small risk of fire hazards
    • Security measures required for public exposure
    • Need for UPS or other power failure mitigation
    • Requires physical space

I hope this post inspires more people to explore the world of home servers.

Related

Installing yay on Arch Linux
··1 min
Arch-Linux Yay
Precautions with Default Arguments in Python
··2 mins
Python
Basics of Bitwise Enumeration
··2 mins
Algorithm Python