Convert A Cheap Barracuda Networks Device Into A Docker Host

The Hardware

The device I used in this video is a Barracuda Networks BFS200a I picked up used for about $25. It sports a 2 core/4 thread Intel Atom D525 @ 1.80 GHz. I upgraded the 1GB of DDR3 to 4GB and replaced the 250 GB HDD with a 32GB SATA SSD.

Things You Will Need

Preparing the Installation Media

  1. Download the Debian .iso file Download
  2. Download the Ventoy installer Download
  3. Extract the downloaded .zip file
  4. Run Ventoy2Disk.exe
  5. Plug in a USB flash drive at least 4 GB in size
  6. Click the refresh icon
  7. Select the flash drive from the device dropdown
  8. Click the Install button
  9. After the installation completes, copy the downloaded Debian .iso to the Ventoy partition
  10. Safely remove the USB flash drive
  11. Plug the flash drive into the target Barracuda Networks device

Installation and Setup

  1. Power on the Barracuda Networks device and start pressing Delete
  2. When prompted, enter BCNDK1 as the BIOS password
  3. In the BIOS, reset the settings to defaults > Save and exit
  4. Boot to the flash drive
  5. When the install dialog displays press Enter to select Graphical Install
  6. Select a language > Click Continue
  7. Select a Location > Click Continue
  8. Select a keyboard layout > Click Continue
  9. Enter a hostname for the VM > Click Continue
  10. Enter a Domain name or leave it empty > Click Continue
  11. Enter and confirm a root password > Click Continue
  12. Enter the full name for the new user > Click Continue
  13. Enter the username for the new user > Click Continue
  14. Enter and confirm a password for the new user > Click Continue
  15. Select a timezone > Click Continue
  16. Select Guided - user entire disk > Click Continue
  17. Select the target disk > Click Continue
  18. Select All files in one partition > Click Continue
  19. Select Finish partitioning and write changes to disk > Click Continue
  20. Select Yes to confirm writing the changes > Click Continue
  21. Wait for Debian to copy and install files
  22. When prompted, select Yes to enable a network apt mirror > Click Continue
  23. Select a country to use for the apt mirror > Click Continue
  24. Select a mirror from the list > Click Continue
  25. Setup a HTTP proxy if necessary > Click Continue
  26. Select No to participating in package survey > Click Continue
  27. Select the software to install > Click Continue
  28. Select Yes to install GRUB > Click Continue
  29. Select /dev/sda for the boot loader location > Click Continue
  30. After the bootloader is installed select reboot to finish the installation
  31. Welcome to Debian 11

Installing Docker

  1. Run the following commands in the terminal
    # install prerequisites
    sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
    # add docker gpg key
    curl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -
    # add docker software repository
    sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"
    # install docker
    sudo apt install docker-ce docker-compose containerd.io -y
    # enable and start docker service
    sudo systemctl enable docker && sudo systemctl start docker
    # add the current user to the docker group
    sudo usermod -aG docker $USER
    # reauthenticate for the new group membership to take effect
    su - $USER

Running Portainer

  1. Now that Docker is installed, run the following commands to setup the Portainer Docker container and run it
    # create working directories
    mkdir ~/docker/portainer -p
    # run the portainer docker container
    docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v ~/docker/portainer:/data portainer/portainer-ce
  2. Once the Portainer container is downloaded and running, open a web browser and navigate to http://DNSorIP:9000
  3. Set an administrator username and password > Click Create user
  4. Click the Docker - Manage the local Docker environment option > Click Connect