The internet as we know it began as a project by CERN with the objective of connecting computers together and enabling sharing of knowledge and information among researchers. It was quickly recognized how powerful free flow of ideas and connections could be when people across continents could freely share and exchange information among their peers, possibly forging new connections and opening up the world. After the invention of the printing press this was certainly the biggest innovation when it came to opening up the world to free exchange of ideas.
Over the decades the web as we know it has undergone many shifts, from smaller websites to blogs to collaborative blogs and social networks that connect millions at the ease of a click.
This is certainly not limited to just software, how we can use our hardware is just as important, do we really own our devices or simply rent them and are at the whims and fancies of the manufacturers to use it as they allow us?
In the following articles we explore how innovative technologies can now enable a person to setup their own presence on the web without being dependent on any entity and maintain their data sovereignty and privacy. This is certainly not as simple as signing up for an already established network but its much more rewarding and joyful. The importance of owning your technology and how you use it cannot be emphasized enough given the amount of data that is being collected in the name of ease and with virtually no control over what it is being used for, and more importantly not having the control over how you can use it.
My journey into self hosting started out of curiosity after I came across some articles on data privacy and self hosting. Digging deeper I realized that the minimum requirements to get into this hobby weren't that steep and were affordable for even a common person. The only technical hurdle was my limited knowledge of networking and security which I slowly overcame through a lot of youtube videos, tutorials and discord communities around homelab. It was surprising how easy it is to grasp the fundamentals and get started in this hobby and master those skills as you go.
My first server was a free tier Oracle VPS, which was a 1CPU(2.2GHz) 1GB RAM, 400Mbps virtual machine which was not exactly very powerful but enough to dip your feet in and start exploring. Soon i upgraded this to a paid plan with Ampere VMs which offered more power and a generous free quota which reduced my monthly bills by a lot! Finally I had a VM with 4 cores (3GHz), 24GB RAM, 200Gb disk with regular automated full disk backups. Having a cloud VM is not exactly what many would consider 'homelab' but the convenience of not having to deal with hardware, backups, maintenance frees you up to focus on the software side as a beginner. You can always move over your cloud VM to a bare metal machine in your home later. But the best service that a cloud VM offers is having a static public IP address which is difficult to get with a home connection and is necessary for hosting certain services such as a email server.
After having setup my cloud node, I decided to go for a minipc as a node that would be truly my homelab. The refurbished market is a great place to find low cost machines at a fraction of their original cost. I went for an optiplex 3070 with Intel i3-9100T quad core @ 3.700GHz, 16GB RAM, an SSD and some external USB drives. Together these two nodes are powerful enough for a homelab for family and friends. The home node need not be exposed to public since the services can be easily accessed locally and via a VPN like tailscale when on the move. In addition to this cloudflare tunnels are also a handy way to expose services to the public while relying on security and protection of cloudflare.
Building a homelab is a process that never stops, from setting it all up to keeping it updated, adding new services, experimenting and learning, the journey is one of continuous learning, collaboration and fun. We shall cover the various aspects in the following articles which should give a decent introduction to the fundamentals, the technology beneath it all, how to get started on a budget and some more advanced topics as we go along.
In addition to going over the basics, we will also explore how to setup your own servers on a tight budget, e.g. as a student, and on a medium budget which is suitable for a small family or group of friends. From here upgrading as per your needs would not be too difficult.
Over the decades the web as we know it has undergone many shifts, from smaller websites to blogs to collaborative blogs and social networks that connect millions at the ease of a click.
This is certainly not limited to just software, how we can use our hardware is just as important, do we really own our devices or simply rent them and are at the whims and fancies of the manufacturers to use it as they allow us?
In the following articles we explore how innovative technologies can now enable a person to setup their own presence on the web without being dependent on any entity and maintain their data sovereignty and privacy. This is certainly not as simple as signing up for an already established network but its much more rewarding and joyful. The importance of owning your technology and how you use it cannot be emphasized enough given the amount of data that is being collected in the name of ease and with virtually no control over what it is being used for, and more importantly not having the control over how you can use it.
My journey into self hosting started out of curiosity after I came across some articles on data privacy and self hosting. Digging deeper I realized that the minimum requirements to get into this hobby weren't that steep and were affordable for even a common person. The only technical hurdle was my limited knowledge of networking and security which I slowly overcame through a lot of youtube videos, tutorials and discord communities around homelab. It was surprising how easy it is to grasp the fundamentals and get started in this hobby and master those skills as you go.
My first server was a free tier Oracle VPS, which was a 1CPU(2.2GHz) 1GB RAM, 400Mbps virtual machine which was not exactly very powerful but enough to dip your feet in and start exploring. Soon i upgraded this to a paid plan with Ampere VMs which offered more power and a generous free quota which reduced my monthly bills by a lot! Finally I had a VM with 4 cores (3GHz), 24GB RAM, 200Gb disk with regular automated full disk backups. Having a cloud VM is not exactly what many would consider 'homelab' but the convenience of not having to deal with hardware, backups, maintenance frees you up to focus on the software side as a beginner. You can always move over your cloud VM to a bare metal machine in your home later. But the best service that a cloud VM offers is having a static public IP address which is difficult to get with a home connection and is necessary for hosting certain services such as a email server.
After having setup my cloud node, I decided to go for a minipc as a node that would be truly my homelab. The refurbished market is a great place to find low cost machines at a fraction of their original cost. I went for an optiplex 3070 with Intel i3-9100T quad core @ 3.700GHz, 16GB RAM, an SSD and some external USB drives. Together these two nodes are powerful enough for a homelab for family and friends. The home node need not be exposed to public since the services can be easily accessed locally and via a VPN like tailscale when on the move. In addition to this cloudflare tunnels are also a handy way to expose services to the public while relying on security and protection of cloudflare.
Building a homelab is a process that never stops, from setting it all up to keeping it updated, adding new services, experimenting and learning, the journey is one of continuous learning, collaboration and fun. We shall cover the various aspects in the following articles which should give a decent introduction to the fundamentals, the technology beneath it all, how to get started on a budget and some more advanced topics as we go along.
- First Steps - The Homelab Blueprint
- The ins and outs of connecting: Basic terminology. [link TBA].
- Servers: What are they and why you should have one. [link TBA].
- Domain: Having an identity on the web. [link TBA].
- Reverse Proxy: Why you need one and which one to go with. [link TBA]
- Nextcloud: The Complete Office Suite. [link TBA]
In addition to going over the basics, we will also explore how to setup your own servers on a tight budget, e.g. as a student, and on a medium budget which is suitable for a small family or group of friends. From here upgrading as per your needs would not be too difficult.