
creating a low cost home server by using your old PC :
Introduction :
Many of us are using the newest computers with advanced hardware specifications. most of the modern software applications require advanced hardware to operate better. But, most of us have old PCs that are no longer in use. These PCs can be used for more
According to the statistics, in UK the 25% of people throw away their old computers. Also, there are nearly 7 million laptops, 9.17 million tablets, and 6.5 million computers in UK households that aren’t used but could be sold or recycled. Businesses and individuals in the USA throw away around 41 million computers every year. so, this is slowly but definitely becoming a Hugh problem.
So, instead of throwing them away or selling them at a very cheap price, there is a better way to use them profitably.
Background story :
four weeks ago I came back from Australia to my home in Sri Lanka after nearly five years. Then I found my old PC that was lying in a corner in the house which had not been used for nearly five years.

surprisingly, the CPU is in working condition. So, I was thinking about an idea to make a profitable and useful device by modifying the CPU unit. At the same time, I was working on another IoT(Internet of Things) and suddenly realised that we could manage the server system by running a computer unit.
So, I can turn my old PC into a prototype version of server computer unit.
Before getting into the process let’s learn about some theoretical parts.
What is a server ?

Basically, a server is a computer program or a computing device that provides a service to another computer/computer program and its user also known as the client. In a data centre, the physical computer or the computing device that is used to provide the hardware to run the server program is also known as the server.
process of a server is simple. the server computer and the program await and fulfil the requests from its client computers. the client/server models can be happen in the same computer or different computers.
There are two types of servers; physical and virtual.
physical servers: basically a computer that is used to run server software.
Virtual servers: a virtual representation of a physical server. Like a physical server, a virtual server includes its own operating systems and applications. These are kept separate from any other virtual servers that might be running on the physical server.
difference between desktop PC and a server:
The truth is that there are similarities and differences between a normal desktop and server computers.
Both server and desktop computers can operate on x86/x64 Central processing units and run the same code structure. However, server computers typically have more CPU sockets and more accurate memory units. Also, servers have a much larger quantity of memory than a typical desktop unit.
Servers always prioritise the mission-critical payloads. So, they need more advanced, faster and redundant hardware units to operate. They will also be included with more redundant power supply units and networking interfaces. while normal desktops can be placed in a normal space, most of the server units are being placed in racks.
If you would like to study more advanced details about a server refer to this article.
Setting up :
First, we need to start the computer and check the current hardware and software status. Every computer needs some essential hardware and software to run it normally. For our server project, we must focus more on hardware than software.
I personally recommend following hardware specifications for a better performance of the server unit.
- 512 or higher RAM memory
- 128 or higher VIdeo memory
- 100 GB or higher Hard drive disk space(for server it is better to have a large hard disk space)
- DVD/CD ROM or an USB port
- Ethernet cable
- Intel or AMD processor(pentium-4 of higher)
For my prototype PC unit, I had 1GB RAM, an Intel dual-core processor, 100 GB hard drive space, DVD ROM/USB ports etc.
generally, these computers were installed with Windows-based operating systems such as Windows XP, Vista, Windows 7 etc. But for a server unit, it is better to use a Linus-based operating system such as Ubuntu server edition. Ubuntu is a great choice as it can save a lot of memory and processing power while operating.
To install the Ubuntu operating system, please follow this link. Make sure you download the server edition. After downloading, we can use a DVD or a flash drive to connect the downloaded file to the computer and install it. Please make sure to format the hard drive to remove the current operating system and free the space. Also, make sure you have an internet connection until the installation is finished. If you want to know about details on installing ubuntu, please refer to this link.
To finish the process, we need the following external software application.
DOCKER :
Docker is a software application that allows to run applications in isolated environments. This feature can help to run the server as a single unit without any interference from other computers. To get to know about Docker more, you can read this article on the medium platform.
After installing the Docker images, we can use different kinds of servers for different kinds of server applications. There are several image packages on platforms such as GitHub. There are server applications such as media servers, music-hosting servers, private cloud storage servers, various server dashboards and tools etc.

Advantages of a Home server
- it will reduce the space to duplicate the same data file.
- we can have full control and customization options.
- We can reduce unnecessary server hosting options.
- reduce the privacy threats and protect the privacy.
- we have better control over our own data.
This article only contains the details about the first simple prototype I created to test the proposed concept. There are several YT video tutorials, web site tutorials and PDFs in the internet.
I will update the data and information about further developments in a new article. I will share the link in here.