Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Home Lab

This repository holds the documentation for my home lab I've built up and guides for others wanting to build their own home network. Building your own home network is the best way to learn and can be much cheaper than you think.

Network Diagram

This is my current network configuration. I used Visio to create the diagram. NETWORK DIAGRAM.

Software Development Excellence

The best thing about having all of this equipment is being able to deliver high quality software. Every piece of software I write goes through my own Jenkins pipeline. This pipeline runs static code analysis tests to reduce the amount of bugs, vulnerabilities, and technical debt. I also write my own mocha security tests with Mocha to ensure my architecture is secure. Once all of these tests pass, the code gets merged into production, and automatically deployed. See the diagram. CODING PROCESS.

Deployment Process

My Hardware

Below is the hardware I use to run my home network. My network works great for my needs, but by no means could support several users. Building a network for enterprise use is a different beast. Define what you need and want from your home lab before even thinking about buying hardware. Do lots of research. Many hardware buying guides from bloggers and streamers spend way too much money. For example, if you are only going to store files and host your own website, it makes no sense to spend $3,000 on a server with 52 GB of RAM. It's tempting to buy the latest and greatest hardware. Always: 1.Ready 2.Aim 3.Fire

Networking Equipment

FunctionNameCost $
Router/FirewallUnifi USG112
SwitchUnifi 8 port POE Switch102
WifiUnifi UAC Pro120
Rack/Rails/Shelves18U 19"170

Server

FunctionNameCost $
ServerHP DL 380 G7100
RAMDDR3 SRAM 8GB x 616
CPUXeon E5645 2.4 Ghz x 216
Hard Drives10 K SAS HP 300GB x 620
External Storage8TB Seagate120
UPSTripp Lite 1500VA160

Wifi Hacking Practice

FunctionNameCost $
Router/WifiNetgear WNR1000v230
Wifi Hacking AdapterALFA Networks AWUS036H USB 500mW20
Victum ComputerDell 8GB 2.4 Gz Win 70

Configuration Guides(in progress)

LINK

Buying a Server and Hardware buying guide

Use this LINK to buy servers. It filters ebay for servers based on your inputs.
Reddit also has a great write-up for getting started
Reddit Guide

Here is a great guide for making your own home NAS
DIY NAS

Community

This is a really great community for seeing what others do. Great resource for building your own homelab. Becareful browsing this sub-reddit too much... it may make you buy expensive equipment.
Reddit Home Lab

About

This is the network diagrams, configuration guides, and hardware used for my home lab.

Topics

Resources

Stars

90 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages