I always found it a pain to deal with Python libraries and virtual environments on my Raspberry Pis. I decided to give Docker a try as it would completely isolate my OctoPrint environment from the other stuff I had running on the PI.
Step 1 – Installing Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo usermod -aG docker pi
#remember to logout and back in
docker run hello-world
You should get an output like this:
Step 2 – Install and Run OctoPrint
# find your serial port
ls -latr /dev/tty
# create a volume
docker volume create octoprint
# run your container
docker run -d --restart unless-stopped -v octoprint:/octoprint \
-p 5000:80 --device /dev/ttyUSB1:/dev/ttyUSB1 --name octoprint \ octoprint/octoprint
5000 with the port you want it on and
ttyUSB1 with your serial port identifier.
Now you can browser to your PI’s IP address
That’s it. Happy Printing!