[Guide/Tutorial:] One Pi to Rule Them All: Multi-Instance & 'Dual-Use' OctoPrint Using Docker, Docker Compose, & Portainer

This page summarizes the projects mentioned and recommended in the original post on /r/CR6

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Portainer

    Making Docker and Kubernetes management easy.

    As the post title suggests, this is a guide for using Docker, Docker Compose, and Portainer to run multiple instances of OctoPrint on a Raspberry Pi 4. I believe this is the easiest and most elegant method; Chis Riley does an excellent job explaining other methods. To have a general understanding of what we will be doing I will first briefly explain each of the aforementioned tools. Docker is an open platform that uses OS-level virtualization to allow for the development, distribution, and running of application images in a container. A container is akin to a virtual machine; the major difference being that all resources are shared rather than allocated. Docker Compose is a utility that makes it relatively easy to deploy and manage multiple containers. Portainer is an app image designed to be deployed in a container that provides a web-based GUI for managing containers. Think of it as OctoPrint for Docker even though it runs in Docker. By properly using these tools in conjunction I hope to achieve the most user-friendly implementation of multi-instance OctoPrint and 'dual-use' OctoPrint (i.e. being able to use OctoPrint and Raspbian on the same pi simultaneously by only deploying one instance). Let us begin...

  • octoprint-docker

    The dockerized snappy web interface for your 3D printer!

    OctoPrint is not designed to be used as outlined in this tutorial as such there are known issues; refer here for documentation. Furthermore, since this is an unsupported configuration do NOT contact the developers of OctoPrint nor those of your printer's firmware with troubleshooting or bug reporting. Think of it this way, imagine you paid for OctoPrint or some really awesome community firmware and it came with a lifetime warranty, by proceeding with this guide you would be voiding that warranty. But, guess what? You did not and it does not so you have less than zero right to ask for, much less expect any level of support from them. That said, should you have issues I will try my best to help, but I am not a linux Yoda, I'm not even a bash Grogu (I'm just a random self-taught internet dude with slightly below average intelligence who fancies bending machines to his will like Professor Xavier does minds; SkyNet will find no quarters on my networks or devices!) so it's best to continue with the mindset that basically you're on your own from here on out. If anything I say is imprecise or inaccurate, please kindly let me know and I will make the appropriate edits.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Docker Compose

    Define and run multi-container applications with Docker

    As the post title suggests, this is a guide for using Docker, Docker Compose, and Portainer to run multiple instances of OctoPrint on a Raspberry Pi 4. I believe this is the easiest and most elegant method; Chis Riley does an excellent job explaining other methods. To have a general understanding of what we will be doing I will first briefly explain each of the aforementioned tools. Docker is an open platform that uses OS-level virtualization to allow for the development, distribution, and running of application images in a container. A container is akin to a virtual machine; the major difference being that all resources are shared rather than allocated. Docker Compose is a utility that makes it relatively easy to deploy and manage multiple containers. Portainer is an app image designed to be deployed in a container that provides a web-based GUI for managing containers. Think of it as OctoPrint for Docker even though it runs in Docker. By properly using these tools in conjunction I hope to achieve the most user-friendly implementation of multi-instance OctoPrint and 'dual-use' OctoPrint (i.e. being able to use OctoPrint and Raspbian on the same pi simultaneously by only deploying one instance). Let us begin...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts