Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable backup restore #135

Merged
merged 2 commits into from
Dec 9, 2020
Merged

Enable backup restore #135

merged 2 commits into from
Dec 9, 2020

Conversation

LongLiveCHIEF
Copy link
Member

  • creates /octoprint/octoprint and /octoprint/plugins folders explicitly during docker build
  • starts octoprint service using --basedir /octoprint/octoprint instead of just /octoprint
  • changes the recommended mount path for the config-editor container to octoprint:/octoprint
    • updates the example and test compose files and README instructions to reflect this change

BREAKING CHANGES This may be a breaking change for existing users that are using a volume mounting strategy other than the recommended strategy, thus will constitue a new major release for the image.

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
├── octoprint
│   ├── config.backup
│   ├── config.yaml
│   ├── data
│   ├── generated
│   ├── logs
│   ├── plugins
│   ├── printerProfiles
│   ├── scripts
│   ├── slicingProfiles
│   ├── timelapse
│   ├── translations
│   ├── uploads
│   ├── users.yaml
│   ├── virtualSd
│   └── watched
├── 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

Note: 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, givinig them more ability to selectively control how state and memory consumption are utilized in their octoprint image usage/distribution strategies.

@LongLiveCHIEF LongLiveCHIEF merged commit abf782e into master Dec 9, 2020
@LongLiveCHIEF LongLiveCHIEF deleted the enable-backup-restore branch December 9, 2020 21:19
@LongLiveCHIEF LongLiveCHIEF self-assigned this Dec 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant