Hi, I’m Simon

I’m passionate about Information Security and Hacking. This write up will focus on how I setup the home research lab that I use to practice and advance my skills. I will start by covering the installation of Ubuntu on a disused Mac Mini 1TB server that I had sitting around. I will then take you through my process for installing Webmin, Docker & Portainer to be able to use the server in a headless setup while conveniently managing it through web a Graphical User Interface or GUI for short.

Lets begin!

Research Lab Infrastructure:

Ubuntu Server 20.04.3

  • Flash USB drive with image

  • Install on Mac Mini Server

Webmin 1.981

  • Install Webmin on Ubuntu server

  • Setup port for LAN web access

Docker 20.10.7

  • Install Docker on Ubuntu server

  • Provision Docker registry to pull images from

Portainer 2.9.1

  • Install Portainer on Ubuntu server

  • Setup port for LAN web access

Setting it all up:

Start with the Ubuntu Server

  1. I started by downloading the latest software image from Ubuntu. Make sure you get a version compatible with your hardware.

  2. I used belenaEtcher to flash my USB with a bootable image of the install.

  3. While following the Ubuntu server installation instructions I enable SSH when prompted so I can access the server backend if needed.

  4. Once the installation is complete I setup a static IP address and port forwarding so SSH can be accessed over the internet if needed.

  5. I tested the SSH connection from inside the network and from the internet.

Next install and setup the Webmin GUI

  1. From the command line I used the SSH connection to install Webmin using the APT package manager.

    • sudo apt install webmin

  2. Confirm Webmin started when the install completed.

    • sudo systemctl status webmin

  3. From my router I assigned a static IP address to the server

  4. From a web browser I accessed the web GUI by entering the IP Address and port 10000

  5. Using the web GUI I updated all the software packages and set regular scheduled updates going forward.

Third step is to install and setup Docker

  1. From the command line I used the SSH connection to install Docker using the APT package manager.

    • sudo apt install docker.io

  2. Start Dockerwhen the install completed.

    • sudo systemctl start docker

  3. Enable Docker to run on startup.

    • sudo systemctl enable docker

The final step is to install and setup the Portainer GUI

  1. From the command line I again used the SSH connection, creating a volume to save data for the Portainer Docker image.

    • docker volume create portainer_data

  2. Next I downloaded and installed the Portainer Server.

    • docker run -d -p 8000:8000 -p 9443:9443 --name portainer \

--restart=always \

-v /var/run/docker.sock:/var/run/docker.sock \

-v portainer_data:/data \

portainer/portainer-ce:latest

  1. Finally I accessed the web GUI on port 9443 and installed some vulnerable Docker images. These can be customized to whatever you want to study and practice.


This concludes my write up, if you have questions about any of the steps please feel free to contact me using the information below.