Anyone in full-stack web development or above is familiar with virtual machines on some level. A lot of engineers or sysadmins will take up a home lab in their home, or co-location. This provides a great opportunity to test out ideas, without cost, or at least less risk. On a personal note from my experience, forgive backups at first; just spend time installing stuff, and trying things out. As you want more permanence in your life, backups will come naturally, or as the budget allows for more storage. The point of homelab is to break things and learn from your mistakes.
Plex
Their lifetime license is practically a no brainer if you’re committed to having a home lab in the long term. Plex is going to continue to monetize. Investing in them helps support their software development. I use Plex server on Ubuntu, Plex on Mac OS, Plex Amp (labs), and I have used apps on basically every mobile device or set-top box. It’s amazing.
Nextcloud
Great self-hosted cloud drive software. I like using this to back up my personal files to my multiple machines. I use this to populate desktop wallpaper to my home and work computer, so my memes and desktop wallpapers are available everywhere.
Gitlab
Beyond tracking code in git, I actually use this for collaboration and communication on projects. It’s my issue tracker. I use this to communicate on tasks. Markdown is a great thing to learn, I use it at work, and having a consistent way to communicate with technical people, or markdown enthusiasts is a joy. Protip – Gitlab’s mobile webpage is actually really well built. No need to buy any native iOS and Android mobile apps.
PFSense
I wouldn’t recommend virtualizing this out of the gates. It’s definitely something you want on dedicated hardware. PFSense is a world-class firewall and VPN software. This is great for monitoring your network, learning more about what’s going on your network, and generally deploying more serious configurations.
FreeNAS
Again, I wouldn’t recommend virtualizing this out of the gates. This is great for spinning up a cluster of hard drives, and making them available to your network. I’ve used Samba, Minio (S3), iSCSI, and AFP. I find FreeNAS is a lot friendlier than brute-forcing your weekends figuring those services out on bare metal. I gained my weekends, to try more open-source software.
Proxmox
My hypervisor of choice. I like that it’s Debian based, so you can easily expand or install things on bare metal as needed. I wish FreeNAS and PFSense were Debian based.
Jitsi Meet
If you want to go full anti-big-data, Jitsi is crucial for video teleconferencing. It’s easy to spin up their docker configuration, deploy Lets Encrypt, and get started with self-hosted, secure video meetings. Performance is more or less dependent on your internet connection.
FFMPEG
This isn’t a service, but if you get into storing your own media, learning the ropes with FFMPEG is going to happen someday. I have written lots of bash automation around FFMPEG to compress files into a variety of standards. Someday I will write a blog post about that fun!
Guacamole
I ran into this recently, and have expanded my use of it dramatically over the last year or so. It allows RDP, VNC, and even SSH emulation in an HTML5 canvas element. Meaning, you can log into your servers in Google Chome. I use it to administer my servers quickly and remotely from a wide range of locations, and devices. It’s easier than installing a VPN on every machine you use in your day to day grind.
The Lounge
This is a Node.js based IRC web daemon. IRC is an older protocol on the internet, used to chat with people in plain text. Previously I used ZNC bouncers to manage my chat sessions, but spinning up the lounge is a lot easier to use. Pro-tip, their mobile web app is great!
References
Well, that’s my list of Homelab Hotness. For other ideas, there’s a pretty definitive list floating out there on Github, check it out.