My Personal Homelab - Documented with an abundance of emojis
⚡️ About This Repository
Hello, and welcome to the repo! You can think of this document as a "Homelab From Scratch" guide - batteries not included.
Since starting my own homelab, a project which I have dubbed 'GreenleeNet', I've been looking to document the process, all the way from physically building a server to an individual configuration file. The main portion of this repository will cover my homelab's current configuration, while also providing some insight on how the lab itself was initially developed. The purpose of this is to help out friends, or anyone else on the internet, looking to set up a similar solution.
Be warned that I am by no means an expert and should not be regarded as so. I'm a student documenting my learning process, and the way I configure services and networks may differ from how other tutorials guide you to do so. The content below will most likely use domains, server names, and network configurations specific to my setup. Because of this, I'll be writing my thought process and justifications for how I set up a specific service so that you, the reader, can best decide how to follow along.
Best of luck!
📖 Table of Contents
👦 About Myself
My name is Cole Greenlee, and I'm a computer science student passionate about avoiding writing a decent bio for myself. I've been involved with software development for just over six years at this point , but would never consider myself an expert. I created this project as a learning experience, and to help some friends replicate portions of my setup.
⚠️ A Fair Warning
This repository is currently in an early stage of development, and should therefor be read with some caution. When I feel that it has reached a certain point of maturity, this warning will be removed.
My Goal: To produce ~10 sections to completion by the end of Summer 2019.
📁 Homelab Basics and Resources
❓ What Is A Homelab?
The definition of what a homelab is will vary from use case to use case. For some users it's a small Raspberry Pi cluster, while other enthusiasts might be powering multiple racks worth of servers, storage, and backups. A homelab is simply what its name self-describes: a computer/server lab hosted in your home. The best way to get started is always to jump in headfirst, and r/homelab is the place to do so. The community is great, and even has a Discord server I highly recommend for all of your tech support needs.
🔨 Why Did I Build A Homelab?
While there are plenty of reasons for running a homelab, many of which are covered in the r/homelab introduction, each person is going to have their own set of requirements. When I designed my homelab, my goals included the following:
- Host my portfolio website
- Have a custom domain for my email
- Learn and deploy docker containers
- Learn more about the basics of networking
- Host my own media server
- Have a way of running programs I've developed
- A lot of other services including a VPN, a NAS Server, Game Servers, etc.
Learning skills like spinning up a game server for a group of friends, or even just knowing how to properly back up my data, is probably the best answer to the "But Why?" question that I've received an uncountable number of times. Sure, I could just use Google Drive for everything. Yes, I know that you can pay a few bucks a month for someone to manage your Minecraft and CS:GO servers. But, the benefit to rolling my own services, is knowing what's going on under the hood. It's an argument that's been made many times before, and by no means needs to be re-hashed.
💸 How Much Does It Cost?
Portions of my lab's setup were purchased while others are a collection of parts I had sitting around when the need for the specific component arose. Almost nothing in my lab was purpose built to run as a server. My current Docker host, for example, is my old desktop dropped into a cheaper Rosewill 4U case.
But where do you actually buy this hardware?
My Personal List of Resources & Tips:
- Use Honey through my affiliate link to support my content -- it's free!
- or click here to get Honey without my affiliate link
- Subreddit Communities
- The Usual Suspects
In the next section, What's in My Homelab?, I'll cover approximate costs for the parts of my lab listed.
🤠 What's In My Homelab?
|Lithium||AMD A8-6600k/16GB DDR3-1600/??TB Disk/Ubuntu Server 18.04|
|Hydrogen||1GB Memory/25GB Disk/Ubuntu Server 18.04|
|Carbon||1GB Memory/25GB Disk/Ubuntu Server 18.04|