Here’s a list of some of the software which I run on my homelab.
Operating Systems
Host Operating Systems
Here is a list of the operating systems which I use on my home server.
ProxMox
Used as the base operating system for my server. As ProxMox is a Hypervisor, I can quickly deploy multiple operating systems and manage them all at once.
Link: https://www.proxmox.com/en/
Description: Open-source server virtualization management solution
Guest (Virtual) Operating Systems
Here is a list of the operating systems which I have in ProxMox
Ubuntu Server
Used as my main Server Operating System.
Link: https://ubuntu.com/download/server
Description: Open-source Linux server operating system
Windows Server
Used for familiarising myself with active directory and other windows services.
Link: https://www.microsoft.com/en-us/windows-server/trial
Description: Proprietary server operating system from Microsoft
PfSense
Used for virtual router and firewall software for my home network.
Link: https://www.pfsense.org/download/
Description: Open-source firewall and router software
Kali Linux
Used for ethical Red Team Hacking.
Link: https://www.kali.org/get-kali/
Description: Linux distribution for penetration testing and ethical hacking
Kali Purple
Used for ethical Blue team Analysis.
Used for ethical Blue team Analysis.
Link: https://purple.kali.org/
Ubuntu Desktop
Used for linux applications for testing and deployment which require a GUI.
Link: https://ubuntu.com/download/desktop
Description: Open-source Linux desktop operating system
Windows 7 Workstation
Used mostly for nostalgia as this was my favourite operating system to date.
Link: https://www.microsoft.com/en-us/software-download/windows7
Description: Outdated proprietary desktop OS from Microsoft, no longer supported
Windows 10 Workstation
Used for testing purposes, my preferred operating system for windows.
Link: https://www.microsoft.com/en-us/software-download/windows10
Description: Current proprietary desktop OS from Microsoft
Container Software
Here is a list of the Virtualization / Container software which I use on my Home Server.
Docker (Container Software)
Used to easily deploy lightweight and isolated software.
Link: https://www.docker.com/
Description: Open-source container platform to build, manage, and secure containerized applications
Portainer (Container Management Software)
Used to manage my docker containers in a single GUI.
Link: https://www.portainer.io/
Description: Lightweight management UI for Docker and Kubernetes
Deployed Software
Network & Firewall Software
Used to monitor host activity on my server for suspicious activity.
Wazuh Agent (Host Based Intrusion Detection and Prevention System)
Link: https://wazuh.com/
Description: Open source intrusion detection system for threat detection, visibility and compliance
Snort (Network Intrusion Detection and Prevention System)
Used to monitor network traffic on my home network and server for suspicious activity.
Link: https://www.snort.org/
Description: Open source network intrusion detection and prevention system
Keycloak (Identity Provider)
Used to enable seamless authentication and authorisation on applications hosted on my home server.
Link: https://www.keycloak.org/
Description: Open source identity and access management solution
NGINX Proxy Manager (Reverse Proxy)
Used to allow a single port to be exposed on my home network and provide advanced security and routing of my web services and applications.
Link: https://nginxproxymanager.com/
Description: Open source reverse proxy for managing NGINX web servers
Home Automation
Home Assistant (Multi-vendor IOT Management Software)
Used to connect multiple IOT devices in my home in one control panel for control and automation.
Link: https://www.home-assistant.io/
Description: Open source home automation software to integrate smart devices
Endpoint Device Security Monitoring
Wazuh Server (Host Based Intrusion Detection and Prevention System)
Used as a Security Event and Information Management Solution to monitor all my devices.
Link: https://wazuh.com/
Description: Open source intrusion detection system for threat detection, visibility and compliance
DNS Filtering
Pi-hole (DNS monitoring, Management & Filtering)
Used to block websites and monitor accessed websites on my home network.
Link: https://pi-hole.net/
Description: Network-wide ad blocking via DNS sinkhole
Server Portal
Organizer (Management and Bookmark Hub)
Used as a front-page for my homelab.
Link: https://github.com/mrdaniellewis/organizr
Description: Application dashboard and launchpad for web services
Programming and Testing
Node-RED (Event-Driven Automation Software)
Used to automate my server and connect components running on different systems.
Link: https://nodered.org/
Description: Open source visual programming tool for wiring hardware devices, APIs, and online services
MongoDB (Database)
Used to learn database and management.
Link: https://www.mongodb.com/try/download/community
Description: Open source document database
Node-JS (Web Server)
Used to test Node-JS Web Applications.
Link: https://nodejs.org/en/
Description: Open source JavaScript run-time environment for executing server-side JavaScript code
Flask (Web Server)
Used to test Flask Web Applications.
Link: https://flask.palletsprojects.com/en/2.2.x/
Description: Micro web framework for Python for developing web applications
Remote Device Connection
What I use to access my server while away.
Guacamole (Remote Gateway)
Used to access my operating systems remotely in a web GUI.
Link: https://guacamole.apache.org/
Description: Open source clientless remote desktop gateway
UpSnap (Wake on Lan)
Used to wake up my devices remotely (Wake-on-Lan).
Link: https://github.com/jpoliv/upsnap
Description: Open source self-hosted WOL & PXE server
Security Testing and Practice
Cuckoo Sandbox (Malware Sandbox)
Used to analyse files and obtain a report of the file.
Link: https://cuckoosandbox.org/
Description: Open source automated malware analysis system
Owasp WebGoat (Pentesting Practice)
Used to practise my penetration testing software.
Link: https://owasp.org/www-project-webgoat/
Description: Open source deliberately insecure web application to practise web app security
Finding your own software
Here are some sources you can use to find your own home software.