Post

I Was Trying To Install Pi Os And I Accidentally Ended Up With This

Welcome to this comprehensive guide on how to install Raspberry Pi OS (previously known as Raspbian) in a self-hosted homelab environment. In the process, we'll set up Docker for automation.

# I Was Trying To Install Pi OS and I Accidentally Ended Up With This

Welcome to this comprehensive guide on how to install Raspberry Pi OS (previously known as Raspbian) in a self-hosted homelab environment. In the process, we’ll set up Docker for automation and infrastructure management in your DevOps workflow.

Prerequisites

Before diving into the solution, ensure you have the following prerequisites:

  1. A system running Ubuntu 20.04 LTS or higher with at least 4GB RAM.
  2. Docker installed and working properly. You can install it using the command apt install docker-ce=5.0.8.
  3. Access to your homelab’s Raspberry Pi through SSH.

Solution Steps

Step 1: Create a Dockerfile

First, let’s create a Dockerfile for building our Raspberry Pi OS image. Create a new file called Dockerfile in the root directory of your project:

1
2
3
FROM raspberrypi/os-lite:latest
...
# Your custom configurations here

Step 2: Add Custom Configurations

Modify the Dockerfile to suit your needs. For example, let’s install SSH and VNC for remote access:

1
2
3
FROM raspberrypi/os-lite:latest
RUN apt-get update && apt-get install -y openssh-server tightvncserver
...

Step 3: Build the Docker Image

Now, build the Docker image using the following command:

1
docker build -t raspberrypi .

This will create a new image named raspberrypi.

Step 4: Run the Docker Container

Next, run the container using the docker run command:

1
docker run -it --name raspberrypi_container raspberrypi bash

This will start a new container based on our custom image.

Step 5: Access the Container

You can now access the Raspberry Pi OS within the Docker container using SSH and VNC.

  • SSH: Use your preferred SSH client to connect to the container with the IP address 127.0.0.1 and the default SSH port 22. The username is pi by default.
  • VNC: Start the VNC server inside the container:

    1
    
    vncserver :1 -depth 24
    

Then, connect to the VNC server using your preferred VNC client with the IP address 127.0.0.1, display number 1, and the default VNC port 5901.

Troubleshooting

If you encounter issues during setup or operation, refer to the official Raspberry Pi documentation and Docker documentation for help.

Conclusion

In this guide, we’ve learned how to install Raspberry Pi OS within a Docker container for self-hosted homelab environments. This setup allows us to leverage the power of automation and infrastructure management in our DevOps workflow using open-source tools. By following the provided steps, you can easily create, manage, and scale your Raspberry Pi OS instances as part of your broader infrastructure strategy.

This post is licensed under CC BY 4.0 by the author.