# 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

- A USB flash drive, at least 8 GB https://amzn.to/3wkR5ju | https://amzn.to/3qkrJ1p | https://amzn.to/3Nhu9b9

## 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