Safe mode#
Added in version 1.3.0
Changed in version 1.3.13
With the advent of support for plugins in OctoPrint, it quickly became apparent that some of the bugs reported on OctoPrint's bug tracker were actually bugs with installed third party plugins or language packs instead of OctoPrint itself.
To allow an easier identification of these cases, OctoPrint 1.3.0 introduced safe mode. Starting OctoPrint in safe mode disables all plugins (and starting with 1.3.13 also all language packs) that are not bundled with OctoPrint, allowing to easier identify most cases where a third party plugin or language pack is the culprit of an observed issue.
Additionally, OctoPrint allows uninstalling plugins and language packs in this mode, allowing recovery from cases where a third party addition causes the server to not start up or the web interface to not render or function correctly anymore.
Whenever reporting an issue with OctoPrint, please always attempt to reproduce it in safe mode as well to ensure it really is an issue in OctoPrint itself and now caused by one of your installed third party additions.
How to start OctoPrint in safe mode#
There exist three ways to start OctoPrint in safe mode.
Via the "Restart OctoPrint in safe mode" system menu entry#
Added in version 1.3.2
You can select "Restart OctoPrint in safe mode" from the "System" menu, if the "Restart OctoPrint" server command has been correctly configured.
Via the server.startOnceInSafeMode
config flag#
You can set the flag server.startOnceInSafeMode
in config.yaml
to true
and restart. This will make OctoPrint start up in safe mode. The flag will clear
automatically.
To set this flag you have the following options:
-
from command line run
octoprint safemode
1 (since OctoPrint 1.3.6) -
from command line run
octoprint config set --bool server.startOnceInSafeMode true
1 -
edit
config.yaml
manually with a text editor, locate theserver
block if it already exists or create it if it doesn't and addstartOnceInSafeMode: true
to it:Please also refer to the YAML primer.
Via the --safe
command line flag#
You can start OctoPrint in safe mode with the command line parameter --safe
, e.g. octoprint serve --safe
1.
Don't forget to shutdown OctoPrint first before doing this.
Differences of safe mode vs normal operation mode#
When OctoPrint is running in safe mode the following changes to its normal operation mode apply:
- OctoPrint will not enable any of the installed third party plugins. OctoPrint considers all plugins third
party plugins that do not ship with OctoPrint's sources, so any plugins installed either via
pip
or into OctoPrint's plugin folder2. - OctoPrint will not enable any of the installed third party language packs. OctoPrint considers all language packs third party language packs that do not ship with OctoPrint's sources, so any language plugins installed through the language pack manager within settings and/or stored in the language pack folder3.
- OctoPrint will still allow to uninstall third party plugins through the built-in Plugin Manager.
- OctoPrint will still allow to disable (bundled) plugins that are still enabled.
- OctoPrint will not allow to enable third party plugins.
- OctoPrint will still allow to manage language packs.
-
OctoPrint's web interface will display a notification to remind you that it is running in safe mode.
-
OctoPi users: For you that's
~/oprint/bin/octoprint
wherever it says justoctoprint
. ↩↩↩ -
~/.octoprint/plugins
(Linux),%APPDATA%/OctoPrint/plugins
(Windows) or~/Library/Application Support/OctoPrint/plugins
(macOS) ↩ -
~/.octoprint/translations
(Linux),%APPDATA%/OctoPrint/translations
(Windows) or~/Library/Application Support/OctoPrint/translations
(macOS) ↩