aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2020-05-03-homelab.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/blog/2020-05-03-homelab.md')
-rw-r--r--content/blog/2020-05-03-homelab.md185
1 files changed, 87 insertions, 98 deletions
diff --git a/content/blog/2020-05-03-homelab.md b/content/blog/2020-05-03-homelab.md
index d02e9e8..8f5d57a 100644
--- a/content/blog/2020-05-03-homelab.md
+++ b/content/blog/2020-05-03-homelab.md
@@ -7,16 +7,15 @@ draft = false
# What is a Homelab?
-Starting as a developer, I have largely stayed away from hardware-based
-hobbies (other than building a gaming desktop). However, as the
-quarantine for COVID-19 stretches out further and further, I found
-myself bored and in search of new hobbies. After spending the last few
-months browsing the [r/homelab](https://www.reddit.com/r/homelab/)
-subreddit, I decided it was time to jump in and try things out for
-myself.
+Starting as a developer, I have largely stayed away from hardware-based hobbies
+(other than building a gaming desktop). However, as the quarantine for COVID-19
+stretches out further and further, I found myself bored and in search of new
+hobbies. After spending the last few months browsing the
+[r/homelab](https://www.reddit.com/r/homelab/) subreddit, I decided it was time
+to jump in and try things out for myself.
-Since I am a beginner and just recently graduated from college,
-everything I\'ve done so far in my homelab is fairly low-budget.
+Since I am a beginner and just recently graduated from college, everything I've
+done so far in my homelab is fairly low-budget.
# Hardware
@@ -26,141 +25,131 @@ Diagram](https://img.cleberg.net/blog/20200503-homelab/homelab-min.png)
### Raspberry Pi 4
Luckily, I had actually purchased a [Raspberry Pi
-4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) before
-the quarantine started so that I could try to keep Plex Media Center
-running, even while my desktop computer was turned off. I started here,
-using the Pi to hold Plex and Pi-hole until I grew tired with the slow
-performance.
+4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) before the
+quarantine started so that I could try to keep Plex Media Center running, even
+while my desktop computer was turned off. I started here, using the Pi to hold
+Plex and Pi-hole until I grew tired with the slow performance.
Here are the specifications for the Pi 4:
-- Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
-- 4GB LPDDR4-3200 SDRAM
-- Gigabit Ethernet
-- H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
-- 64 GB MicroSD Card
+- Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
+- 4GB LPDDR4-3200 SDRAM
+- Gigabit Ethernet
+- H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
+- 64 GB MicroSD Card
## Dell Optiplex 5040
-Since I wasn\'t happy with the Pi as my main server, I turned to
-Craigslist. I know a lot of other homelabbers use Ebay, but I can\'t
-seem to ever trust it enough to purchase items on there. So I used
-Craigslist and found a Dell Optiplex 5040 desktop computer on sale for
-\$90. While this computer might be underpowered, it was one of the few
-computers under \$100 that was available during quarantine.
+Since I wasn't happy with the Pi as my main server, I turned to Craigslist. I
+know a lot of other homelabbers use Ebay, but I can't seem to ever trust it
+enough to purchase items on there. So I used Craigslist and found a Dell
+Optiplex 5040 desktop computer on sale for $90. While this computer might be
+underpowered, it was one of the few computers under $100 that was available
+during quarantine.
Here are the specifications for the Dell Optiplex 5040:
-- Intel Core i3 6100
-- 8GB RAM DDR3
-- Intel HD Graphics
-- Gigabit Ethernet
-- 500GB Hard Drive
+- Intel Core i3 6100
+- 8GB RAM DDR3
+- Intel HD Graphics
+- Gigabit Ethernet
+- 500GB Hard Drive
-While this hardware would be awful for a work computer or a gaming rig,
-it turned out to be wonderful for my server purposes. The only
-limitation I have found so far is the CPU. The i3-6100 only has enough
-power for a single 4k video transcode at a time. I haven\'t tested more
-than three 1080p streams at a time, but the maximum amount of streams
-I\'ve ever actually used is two.
+While this hardware would be awful for a work computer or a gaming rig, it
+turned out to be wonderful for my server purposes. The only limitation I have
+found so far is the CPU. The i3-6100 only has enough power for a single 4k video
+transcode at a time. I haven't tested more than three 1080p streams at a time,
+but the maximum amount of streams I've ever actually used is two.
## WD easystore 10TB & 8TB
-Application storage and temporary files are stored on the internal hard
-drive of the server, but all media files (movies, tv, games, books, etc)
-are stored externally on my WD easystore hard drive. Creating auto-boot
-configurations in the `/etc/fstab` file on my server allows
-the hard drives to automatically mount whenever I need to restart my
-server.
+Application storage and temporary files are stored on the internal hard drive of
+the server, but all media files (movies, tv, games, books, etc) are stored
+externally on my WD easystore hard drive. Creating auto-boot configurations in
+the `/etc/fstab` file on my server allows the hard drives to automatically mount
+whenever I need to restart my server.
-> Update: In March 2022, I shucked the hard drives out of their external
-> cases, put some Kapton tape on the third power pin to prevent power
-> shutdowns, and stuck them inside my server tower using internal SATA
-> cables.
+> Update: In March 2022, I shucked the hard drives out of their external cases,
+> put some Kapton tape on the third power pin to prevent power shutdowns, and
+> stuck them inside my server tower using internal SATA cables.
## Netgear Unmanaged Switch
-To manage all the ethernet cords used by my homelab, my desktop, and my
-living room media center, I purchased an 8-port gigabit ethernet switch
-for \$50 at my local computer store. This is probably much more than I
-should have spent on an unmanaged switch, but I am comfortable with the
-choice.
+To manage all the ethernet cords used by my homelab, my desktop, and my living
+room media center, I purchased an 8-port gigabit ethernet switch for $50 at my
+local computer store. This is probably much more than I should have spent on an
+unmanaged switch, but I am comfortable with the choice.
## TP-Link Managed Switch
-Since I use the unmanaged switch to group all living room devices
-together, I use the managed switch to configure VLANs and secure my
-network.
+Since I use the unmanaged switch to group all living room devices together, I
+use the managed switch to configure VLANs and secure my network.
## Arris TM1602A Modem & Sagecom Fast 5280 Router
-My default modem and router, provided by my ISP, are fairly standard.
-The Arris modem supports DOCSIS 3.0, which is something that I
-definitely wanted as a minimum. The Sagecom router is also standard, no
-fancy bells or whistles. However, it does support DHCP and DHCPv6, which
-is something you can use to route all household traffic through a
-pi-hole or firewall.
+My default modem and router, provided by my ISP, are fairly standard. The Arris
+modem supports DOCSIS 3.0, which is something that I definitely wanted as a
+minimum. The Sagecom router is also standard, no fancy bells or whistles.
+However, it does support DHCP and DHCPv6, which is something you can use to
+route all household traffic through a pi-hole or firewall.
## TP-Link EAP
-In order to gain better control over the network, I use my own wireless
-access point instead of the one included in the Sagecom router above.
-Now I can control and organize all of my ethernet connections through
-the VLANs on the managed switch and wireless connections through the
-VLANS on the EAP.
+In order to gain better control over the network, I use my own wireless access
+point instead of the one included in the Sagecom router above. Now I can control
+and organize all of my ethernet connections through the VLANs on the managed
+switch and wireless connections through the VLANS on the EAP.
## Generic Printer
-The last piece to my homelab is a standard wireless printer. Nothing
-special here.
+The last piece to my homelab is a standard wireless printer. Nothing special
+here.
# Software
## Ubuntu Server 20.04
-While the 20.04 version of Ubuntu was just released, I always like to
-experiment with new features (and I don\'t mind breaking my system - it
-just gives me more experience learning how to fix things). So, I have
-Ubuntu Server 20.04 installed on the Dell Optiplex server and Ubuntu
-Server 19.10 installed on the Raspberry Pi. Once I find an acceptable
-use for the Pi, I will most likely switch the operating system.
+While the 20.04 version of Ubuntu was just released, I always like to experiment
+with new features (and I don't mind breaking my system - it just gives me more
+experience learning how to fix things). So, I have Ubuntu Server 20.04 installed
+on the Dell Optiplex server and Ubuntu Server 19.10 installed on the Raspberry
+Pi. Once I find an acceptable use for the Pi, I will most likely switch the
+operating system.
## Docker
-I am *very* new to Docker, but I have had a lot of fun playing with it
-so far. Docker is used to create containers that can hold all the
-contents of a system without interfering with other software on the same
-system. So far, I have successfully installed pi-hole, GitLab, Gogs, and
-Nextcloud in containers. However, I opted to delete all of those so that
-I can reconfigure them more professionally at a later time.
+I am *very* new to Docker, but I have had a lot of fun playing with it so far.
+Docker is used to create containers that can hold all the contents of a system
+without interfering with other software on the same system. So far, I have
+successfully installed pi-hole, GitLab, Gogs, and Nextcloud in containers.
+However, I opted to delete all of those so that I can reconfigure them more
+professionally at a later time.
## Plex Media Server
-Plex is a media center software that allows you to organize your movies,
-TV shows, music, photos, and videos automatically. It will even download
-metadata for you so that you can easily browse these collections.
+Plex is a media center software that allows you to organize your movies, TV
+shows, music, photos, and videos automatically. It will even download metadata
+for you so that you can easily browse these collections.
## Pi-hole
-Pi-hole is an alternative ad-blocker that runs at the DNS level,
-allowing you to block traffic when it hits your network, so that you can
-reject any traffic you deem to be bad. Pi-hole uses blacklists and
-whitelists to decide which traffic block and, luckily, there are a lot
-of pre-made lists out there on Reddit, GitHub, etc.
+Pi-hole is an alternative ad-blocker that runs at the DNS level, allowing you to
+block traffic when it hits your network, so that you can reject any traffic you
+deem to be bad. Pi-hole uses blacklists and whitelists to decide which traffic
+block and, luckily, there are a lot of pre-made lists out there on Reddit,
+GitHub, etc.
## Nextcloud
-While I had trouble with the Docker version of Nextcloud, I was very
-successful when setting up the snap version. Using this, I was able to
-map Nextcloud to a subdomain of a domain I own in Namecheap.
-Additionally, Nextcloud has an integration with Let\'s Encrypt that
-allows me to issue certificates automatically to any new domain I
-authorize.
+While I had trouble with the Docker version of Nextcloud, I was very successful
+when setting up the snap version. Using this, I was able to map Nextcloud to a
+subdomain of a domain I own in Namecheap. Additionally, Nextcloud has an
+integration with Let's Encrypt that allows me to issue certificates
+automatically to any new domain I authorize.
## Webmin
-To monitor my servers, and the processes running on them, I use the
-Webmin dashboard. This was fairly painless to set up, and I currently
-access it straight through the server\'s IP address. In the future, I
-will be looking to configure Webmin to use a custom domain just like
-Nextcloud.
+To monitor my servers, and the processes running on them, I use the Webmin
+dashboard. This was fairly painless to set up, and I currently access it
+straight through the server's IP address. In the future, I will be looking to
+configure Webmin to use a custom domain just like Nextcloud.