Giter Site home page Giter Site logo

rcdemuth / octoprint-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from octoprint/octoprint-docker

0.0 0.0 0.0 91 KB

The dockerized snappy web interface for your 3D printer!

License: GNU General Public License v3.0

Dockerfile 38.49% Shell 27.32% Makefile 34.19%

octoprint-docker's Introduction

OctoPrint-docker deploy latest with python2.7

State of OctoPrint/docker and Notice to Docker Users

This image is currently under development, and is by no means stable, or guaranteed to work. We are tracking the steps needed to get to a stable release in the Stable Automated Docker Releases project in this repository.

At the moment, we do strongly recommend installing OcotPrint natively, or using OctoPi. Making this image work will require you use only basic OctoPrint functionality, or that you be a skilled docker user.

** Why is this not stable?**

Docker is not a VM, and is designed to isolate a process by providing all the system libraries and toolchains required to run that process inside a container.

This means that containers are inherently stateless, and introducing state complicates the ability to execute the container.

Using docker, you typically update your software by deploying a new image. OctoPrint however, is designed to update itself.

This is further complicated with Plugin Management, which OctoPrint manages by altering the host state (installs plugins).

This combination of environment manipulation makes it exceedingly difficult to share that state with the container's host (the physical machine).

Additionally, things like device and gpio access have to mapped and set up in specific ways, and are not easily automated (which native OctoPrint can handle very well)

Setup and Usage

We recommend you use docker-compose to run octoprint via docker.

At the moment, we recommend that you do not create a host mounted path for OctoPrint configuration. Instead we recommend you create a docker volume for octoprint configuration, and mount that volume to the container.

We have included a docker-compose.yml file in this project that will run octoprint. You will need to either copy that file into a directory on your machine, or clone this project.

After the docker-compose.yml file is on your machine, you'll want to open it for editing, and add device mappings for your serial port.

git clone https://github.com/OctoPrint/docker.git octoprint-docker && cd octoprint-docker

# search for you 3D printer serial port (usually it's /dev/ttyUSB0 or /dev/ttyACM0)
ls /dev | grep tty

// edit the docker-compose file to set your 3D printer serial port
vi docker-compose.yml

docker-compose up -d

You can then go to http://localhost:5000

You can display the log using docker-compose logs -f

Without docker-compose

If you prefer to run without docker-compose, first create an octoprint docker volume on the host, and then start your container:

docker volume create octoprint
docker run -d -v octoprint:/home/octoprint --device /dev/ttyACM0:/dev/ttyACM0 -p 5000:5000 --name octoprint octoprint/octoprint

octoprint-docker's People

Contributors

armicron avatar badsmoke avatar gaetancollaud avatar koosc avatar longlivechief avatar redparchel avatar technologywin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.