Skip to content
My Personal Homelab - Documented with an abundance of emojis
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
ansible Ansible Refactor Jul 31, 2019
docker Updated Traefik Config Aug 11, 2019
.gitattributes Initial commit Jun 15, 2019
.gitignore Started Server List Section Jul 19, 2019

🌐 GreenleeNet

My Personal Homelab - Documented with an abundance of emojis

👋 Introduction

⚡️ 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

🚧 coming soon🚧

👦 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:

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?

💻 Physical Servers

Hostname Specs
Lithium AMD A8-6600k/16GB DDR3-1600/??TB Disk/Ubuntu Server 18.04
🚧 🚧 More Info Coming Soon 🚧

☁️ VPS (Virtual Private Servers) - Hosted at DigitalOcean

Hostname Specs
Hydrogen 1GB Memory/25GB Disk/Ubuntu Server 18.04
Carbon 1GB Memory/25GB Disk/Ubuntu Server 18.04

🔧 DIY - Deploy It Yourself

🚧👷📆 🌴 Planned for Summer 2019

🗒 Getting Ready

🖥 The Hardware

💾 Choosing an Operating System

⚙️ Basic Server Configuration with Ubuntu 18.04 LTS

🐳 Getting Docker Set Up

✉️ Domain and Mail Configuration

🎥 Plex Media Server w/ Docker

🔐 Wireguard VPN Server and Networking

💽 An Automated Deployment

🚧👷📆 🌴 Planned for Summer 2019

You can’t perform that action at this time.