Skip to main content

Domain

When deciding on what hardware you need for your server, you need to know what you're going to use it for. 

When you're running one or two services, a Raspberry Pi would probably suffice, while running your own personal cloud services might require a refurbished desktop computer.  Running your own media server may require a faster processor, a decent graphics card and adequate storage space for digital media.

Raspberry Pi computers work well for running a single service, while traditional computers are better equipped to manage multiple services.

Computational Processing

Choosing the type of main processor you will use for your server is an important decision.  

1000006095.jpg

The Raspberry Pi – and other single-board computers – use a different type of processor than the one you'd find in a traditional desktop. ARM (Advanced RISC Machine) is a new class of processors that are in the same family as the one that power your cellphone.  Built for power efficiency, they cannot often handle sustained heavy loads and will overheat. These cost-effective mini computers are great hosting a personal website, BitWardenHome Assistant or Grocy.

Raspberry Pi computers are efficient enough to run off of a battery, while traditional computers need to be powered directly from a socket.

1000006101.jpg

Traditional computers – such as desktops, laptops and servers – use an evolution of the same processors first developed in the 1970s.  They are known as x86 and named after the Intel 8086 that the architecture is based on.  These processors focus on sustained processing power and can handle much more intensive tasks.  These types of computers are great for hosting your own personal cloud with varied services, such as OwnCloud, Jellyfin, qBittorrent, or media procurement services.

Graphical Processing

While Raspberry Pi computers are useful for small computational tasks, they can often lack the graphical processing necessary to do complex tasks. These computers do not dedicated graphics processors and instead rely on a "system-on-a-chip" that shares graphical and computational power.  Generally, these types of systems cannot be modified to add more graphical processing power.

Raspberry Pi computers work well for sporadic tasks while traditional computers excel at multi-tasking tasks.

Traditional computers have a powerful advantage here because they are so customizable.  Many modern processors have a graphic processors integrated on them with decent power.  Thanks to the extensible PCI-e interface in desktop computers, we can install a dedicated graphics processor – or a graphics cards – with much more dedicated power.

1000006094.jpg

Dedicated graphics cards have specialized tools that allow them to convert videos much more efficiently than the main computational processor.  These can be helpful for tasks that deal with images, such as processing a movie with a media server. 

Memory

The amount and speed of random access memory – or RAM – can affect the responsiveness of your server.  Your server will need more available memory to juggle multiple services at once. 

Raspberry Pi computers are required to share their available memory with their graphics processor.

1000006093.jpg

Traditional computers use the DDR class of RAM while Raspberry Pi computers use a "low-powered" variant.  This can decrease its overall speed and responsiveness during multitasking.  When possible, you should use as much RAM as is available and affordable.  This translates roughly to: 4GB or 8GB for a Raspberry Pi; at least 16GB for a traditional computer.

Storage

When figuring out storage space for a server, there are generally two types that are employed for different reasons. 

1000006088.jpg

Platter disks are based on an older, well-tested technology originating in the 1950s and modern drives commonly use the SATA protocol.  They are slower, but can hold up to 20TB of storage per drive making them great for multimedia or document storage. 

1000006092.jpg

Solid state drives are based on newer flash memory which was popularized by the invention of smart phones.  SSDs are incredibly fast, but they often have limited storage space.  These drives can use the slower SATA protocol, as well as the significantly faster NVME standard.  These work best for the operating system, configuration files and media metadata.

Connectivity

Your server should be connected to your router with a hard-wired Cat6 Ethernet cable.  Wireless internet should not be used for always-on services where reliability is crucial.  Your server should preferably have a 1Gbit or 2.5Gbit connection speed. 

BlueTooth can be used to connect smart devices to Home Assistant, but is not crucial for any server functions.

Router

You will need a router that supports port forwarding to allow traffic from outside the internet to be routed to your server. Routers with QoS (Quality of Service) can allow you to give priority to your server.  Some modern routers offer VPN server and Dynamic DNS capabilities built-in.

The router rented or purchased from your internet service provider may limit access to port forwarding for port 80 and port 443 which are required for hosting a secure web server.  In this case, you may be required to replace your router with one purchased independently.

Domain

Direct access to your server without using a VPN will require a domain name, such as www.wikipedia.org.  They can be purchased through a domain registrar and come with a wide price range. 

If you are unable to purchase a domain name, dynamic naming services like DuckDNS allow you to accomplish this by registering a subdomain through them, such as myserver.duckdns.org.

Internet 

Your Internet Service Provider (ISP) is the primary factor that informs the quality and stability of your server connection.  Outside of your hardware, they dictate how many people can access your server and how much data can be transferred. Gigabit connection speeds are recommended for media servers, but low-bandwidth websites may operate acceptably with slower speeds.

Each ISP has their own regulations regarding server hosting from a residential connection package.  If they are blocking port 80 and port 443, you may be able to use a CloudFlare tunnel to circumvent this.