Skip to content

Releases: OctoPrint/octoprint-docker

3.1.0

13 Dec 15:56
d735263
Compare
Choose a tag to compare
  • created an AUTOMIGRATE script to attempt to detect and migrate v1/v2 filesystem structures to the v3 structure. To use set AUTOMIGRATE=true in the container environment
  • Added PYTHONUSERBASE/bin to PATH

Detailed notes;

As a result of the breaking changes in 3.0.0, we have introduced a script that will attempt to detect and auto-migrate filesystem structures from previous octoprint-docker release versions to the current version, by utilizing an optional environment variable you can set

This feature was impossible to test for all condidtions, and as such is defaulted to false. We highly recommend you use the OctoPrint backup feature, or use this docker based method of backing up your container volume before attempting auto-migration. To attempt auto-migration, set a container environment variable of AUTOMIGRATE=true.

3.0.0

09 Dec 21:32
abf782e
Compare
Choose a tag to compare

Version 3.0.0 Changelog

  • plugins will now persist in the /octoprint volume (see #71 and #44)
  • Settings unique to docker (such as restarting octoprint and webcam configs), are now pre-configured (implemented in #132)
  • Backup/restore will now work with the docker image (fixed #92 via #135)
  • the creation of edge, canary, and bleeding tags. See README for details on how to use these tags

Breaking changes

PR #135 introduced a change that will not affect most users, but may be a breaking change for existing users that are using a volume mounting strategy other than the recommended strategy. Details follow:

  • /octoprint/octoprint and /octoprint/plugins folders are now explicitly created during docker build
  • octoprint service basedir is now /octoprint/octoprint (was previously /octoprint)
  • the recommended mount path for the config-editor container to has been changed to octoprint:/octoprint. See updated examples and usage info in docker-compose.yml and README.

As a result of the breaking changes in 3.0.0, we have introduced a script that will attempt to detect and auto-migrate filesystem structures from previous octoprint-docker release versions to the current version, by utilizing an optional environment variable you can set

This feature was impossible to test for all condidtions, and as such is defaulted to false. We highly recommend you use the OctoPrint backup feature, or use this docker based method of backing up your container volume before attempting auto-migration. To attempt auto-migration, set a container environment variable of AUTOMIGRATE=true.

Due to the changes of the folder structure below the /octoprint directory, where before the root context of the volume mount looked like this:

/octoprint
├── config.backup
├── config.yaml
├── data
│   ├── announcements
│   ├── appkeys
│   ├── backup
│   ├── pluginmanager
│   ├── preemptive_cache_config.yaml
│   └── softwareupdate
├── generated
│   └── webassets
├── logs
│   ├── octoprint.log
│   ├── plugin_bedlevelvisualizer_debug.log
│   ├── plugin_pluginmanager_console.log
│   └── plugin_softwareupdate_console.log
├── plugins
│   ├── bin
│   └── lib
├── printerProfiles
│   └── _default.profile
├── scripts
├── slicingProfiles
├── timelapse
│   └── tmp
├── translations
├── uploads
├── virtualSd
└── watched

It will now look like this:

/octoprint
├── octoprint
│   ├── config.backup
│   ├── config.yaml
│   ├── data
│   ├── generated
│   ├── logs
│   ├── plugins
│   ├── printerProfiles
│   ├── scripts
│   ├── slicingProfiles
│   ├── timelapse
│   ├── translations
│   ├── uploads
│   ├── virtualSd
│   └── watched
└── plugins

The /octoprint/plugins directory is the python libraries path, and /octoprint/octoprint/plugins is the path for plugin data and configuration. Prior to this change, both of these things existed in the /octoprint/plugins folder, polluting it's purpose.

This new method will allow savvy users to create distinct volumes for plugin binaries and octoprint configuration data, giving them more ability to selectively control how state and memory consumption are utilized in their octoprint image usage/distribution strategies.

Enable Optional Webcam Usage

20 Sep 15:16
974a677
Compare
Choose a tag to compare

BREAKING CHANGES

  • All usage of MJPEG has been replaced with MJPG for consistency. For now, values passed to MJPEG_STREAMER_INPUT will be coerced for backwards compatibility
  • Webcam support is now disabled by default, and enabled by passing the environment variable ENABLE_MJPG_STREAMER=true

First Officially Supported octoprint docker image

11 Sep 13:13
0ace3ae
Compare
Choose a tag to compare

BREAKING CHANGES for all existing users on their next pull, as this image will replace the existing tagged images once this PR is accepted. We should increased traffic here and on discord for a while. @foosel it would probably be good to add a blog post about this, or include a snippet of info about it in the next blog post. If you want me to author that content, just let me know what approach you want to take.

1.0.0 This will be considered the 1.0.0 release of the official image for octoprint, and will be tagged as such in this git repo once accepted.

Overview
Changed Docker.camera to Dockerfile
updated workflows
updated usage documentation for usage instructions
Changes
made the container volume for configs /octoprint, which is symlinked to ~/.octoprint (this was /data for the @nunofgs image
primary container port is now 80 (was formerly 5000 for the default image, and 8888 for the -camera image
removed cura (will add to feature backlog). Existing implementation was not working anyways, and now that we're s6 based, we need to set it up as a service
Other
added a web-accessible configuration editor service to the example compose file (see usage docs in README)
moved the old Dockerfile to /minimal folder, for the eventuality that we'll create a single process image container only octoprint at some point in the future
@nunofgs this should bring the official image completely in line with your nunofgs/octoprint image, meaning you can now archive github.com/nunofgs/docker-octoprint