All Projects → OctoPrint → Octoprint Docker

OctoPrint / Octoprint Docker

Licence: gpl-3.0
The dockerized snappy web interface for your 3D printer!

Projects that are alternatives of or similar to Octoprint Docker

Nintimdo Rp 3d models
Autodesk Fussion and stl files
Stars: ✭ 35 (-70.83%)
Mutual labels:  3d-printing
Angelcad
script based 3D solid modeller
Stars: ✭ 83 (-30.83%)
Mutual labels:  3d-printing
Covid 19 Respirators
JPL designed 3D and tested printed respirators to help with the COVID-19 pandemic response.
Stars: ✭ 103 (-14.17%)
Mutual labels:  3d-printing
Pifu
This repository contains the code for the paper "PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization"
Stars: ✭ 1,021 (+750.83%)
Mutual labels:  3d-printing
Gpx
Gcode to x3g conversion post processor
Stars: ✭ 69 (-42.5%)
Mutual labels:  3d-printing
Awesome Mechanical Keyboard
⌨️ A curated list of Open Source Mechanical Keyboard resources.
Stars: ✭ 1,294 (+978.33%)
Mutual labels:  3d-printing
Teleball
Build your own Arduino based retro handheld game console
Stars: ✭ 21 (-82.5%)
Mutual labels:  3d-printing
Photonic3d
Control software for resin 3D printers
Stars: ✭ 108 (-10%)
Mutual labels:  3d-printing
Drakon Extruder
3D Printable 3:1 Geared Extruder
Stars: ✭ 80 (-33.33%)
Mutual labels:  3d-printing
Plus
Otto DIY+ ("Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...
Stars: ✭ 100 (-16.67%)
Mutual labels:  3d-printing
Morpheus Stm32
A small 3D printer controller board for use with a "blue pill" STM32F1 generic board. Inspired on http://reprap.org/wiki/SinapTec
Stars: ✭ 49 (-59.17%)
Mutual labels:  3d-printing
Z Probe On Smd Resistors 2512
Auto bed level strain gage for 3D printer using resistors 2512 instead of strain gauges.
Stars: ✭ 66 (-45%)
Mutual labels:  3d-printing
Freecad
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. Issues are managed on our own bug tracker at https://www.freecadweb.org/tracker
Stars: ✭ 10,366 (+8538.33%)
Mutual labels:  3d-printing
Darm
A desktop arm that can write and draw.
Stars: ✭ 38 (-68.33%)
Mutual labels:  3d-printing
Qtquickvcp
A Virtual Control Panel for Machinekit written in Qt/C++/QML
Stars: ✭ 104 (-13.33%)
Mutual labels:  3d-printing
Flux Studio
Web-based 2d/3d editing application for FLUX desktop manufacturing products
Stars: ✭ 29 (-75.83%)
Mutual labels:  3d-printing
Erizo
Fast native STL viewer
Stars: ✭ 89 (-25.83%)
Mutual labels:  3d-printing
Pokedex
3D Printed Pokédex smartphone case
Stars: ✭ 112 (-6.67%)
Mutual labels:  3d-printing
Duckyspark
Translator from USB-Rubber-Ducky payloads to a Digispark code.
Stars: ✭ 107 (-10.83%)
Mutual labels:  3d-printing
Touchterrain for cageo
Touch Terrain - python app to create 3D printable terrain models (STL/OBJ) from only elevation data (via Google Earth Engine) or from a local geotiff. Has been used for CNC terrain models. Runs as a web app (http://touchterrain.org), as .py file (standalone.py) or as jupyter notebook. Docker image: https://github.com/ChHarding/TouchTerrain_jupyter_docker
Stars: ✭ 91 (-24.17%)
Mutual labels:  3d-printing

OctoPrint-docker Chat

This is the primary image of octoprint/octoprint. It is designed to work similarly, and support the same out of the box features as the octopi raspberry-pi machine image, using docker.

The octoprint/octoprint image uses semantic versioning, but the tags for octoprint/octoprint follow the version of octoprint contained in the image. As a result we recommend you always check the CHANGELOG or Releases before pulling an image, even if you are pulling the same tag.

You can subscribe to be notified of releases as well, by selecting the Watch button in the upper right corner, choosing "Custom", and checking "Releases".

In addition, we know that OctoPrint is not the best suited type of application for containerization, but we're working hard to make it as compatible as possible. Please check out our Roadmap, or join the discussion in the #dev-docker or #support-docker channels on the official OctoPrint Discord discord.octoprint.org.

Tags and platforms

All images for the octoprint/octoprint image are multi-arch images, and we publish for arm64, arm/v7, and amd64 using the below tags:

  • latest - will always follow the latest stable release
  • edge - will always follow the latest release including prereleases.
  • canary - follows the OctoPrint/[email protected] branch
  • bleeding- follows the OctoPrint/[email protected] branch
  • X,X.Y,X.Y.Z,X.Y.Z-rc - these tags will follow the latest build that matches the tag
  • minimal - This is built whenever latest is built, but uses the minimal image
  • latest|edge|canary|bleeding|X.Y.Z-minimal - a minimal version of each of the tags described above, published under the same condition but from the minimal image

Table of Contents

Usage

We recommend you use docker-compose to run octoprint via docker, and have included a recommended docker-compose.yml file for your convenience.

Save the contents of this file on your machine as docker-compose.yml, and then run docker-compose up -d.

Open octoprint at http://<octoprint_ip_or_url

See Initial Setup for configuration values to use during your fist launch of OctoPrint using docker.

Configuration

Enabling Webcam Support with Docker

In order to use the webcam, you'll need to make sure the webcam service is enabled. This is done by setting the environment variable ENABLE_MJPG_STREAMER=true in your docker run command, or in the docker-compose.yml file.

You'll also need to add --device /dev/video0:/dev/video0 to your docker run, or ensure it's listed in the devices array in your docker-compose.yml.

If you map a video device other than /dev/video0, you will additionally need to set an environment variable for CAMERA_DEV to match the mapped device mapping.

See container environment based configs for a full list of webcam configuration options configured with docker.

Container Environment based configs

There are configuration values that you pass using container --environment options. Listed below are the options and their defaults. These are implicit in example docker-compose.yml, and if you wish to change them, refer to the docker-compose docs on setting environment variables.

variable default description
CAMERA_DEV /dev/video0 (see note)
MJPG_STREAMER_INPUT -n -r 640x480 params for mjpg-streamer
ENABLE_MJPG_STREAMER false enable or disable mjpg-streamer
AUTOMIGRATE false Will attempt to detect and migrate filesystems structures from previous versions of this image to be compatible with the latest release version. recommend you backup before trying this as this is a new feature that has been difficult to test fully

note: You will still need to declare the device mapping in your docker-compose file or docker command, even if you explicitly declare the CAMERA_DEV. The value of CAMERA_DEV is used in starting the mjpg-streamer service, whereas the devices mapping is used by docker to make sure the container has access to the device.

For example, if you change the CAMERA_DEV to be /dev/video1, you would also need to map /dev/video1:/dev/video1 in your container.

Restarting OctoPrint

Whilst the container should be pre-configured to allow for OctoPrint to be restarted within the container, there are still some edge cases where this pre-configuration does not take effect. If the option to restart OctopPrint is not present in the user interface, ensure the following command is present in the Restart OctoPrint field under the Server section of the OctoPrint Settings.

s6-svc -r /var/run/s6/services/octoprint

Editing Config files manually

This docker-compose file also contains a container based instance of vscode, accessible via your browser at the same url as your octoprint instance, allowing you to edit configuration files without needing to login to your octoprint host.

To make use of this editor, just uncomment the indicated lines in your docker-compose.yml then run the following commands:

docker-compose up -d config-editor

Now go to http://<octoprint_ip_or_url>:8443/?folder=/octoprint in your browser to edit your octoprint files! Use the 'explorer' (accessible by clicking the hamburger menu icon) to explore folder and files to load into the editor workspace.

All configuration files are in the octoprint folder, and the active configuration will be accessible at /octoprint/octoprint/config.yaml

When you're done, we recommend you stop and remove this service/container:

docker-compose stop config-editor && docker-compose rm config-editor

For full documentation about the config editor, see the docs for the product at github.com/cdr/code-server.

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:/octoprint --device /dev/ttyACM0:/dev/ttyACM0 --device /dev/video0:/dev/video0 -e ENABLE_MJPG_STREAMER=true -p 80:80 --name octoprint octoprint/octoprint

Extended Documentation

We are in the process of creating more extensive documentation for using the octoprint/octprint image. Check out the docs

If you would like to build the docker image yourself, please read building-an-octoprint-image

Contributions Welcome

We are welcoming contributions, and looking to add maintainers to the team. View CONTRIBUTING.md for more info!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].