Go to file
q3k 9254dbe535 Auth caching 2014-03-02 23:06:46 +01:00
octoprint Auth caching 2014-03-02 23:06:46 +01:00
.gitignore Cleaned up a bit in .gitignore 2013-07-09 21:37:14 +02:00
.gitmodules Use Power as pip dependency, not git submodule. 2012-12-07 14:57:35 +07:00
LICENSE Moved LICENSE file to root directory to make it more visible. Added hint to README.md that OctoPrint is released under AGPL 2013-01-20 00:29:48 +01:00
MANIFEST.in First version of setup.py for packaging OctoPrint 2013-07-09 21:39:07 +02:00
README.md Added a note to please create pull requests against devel 2013-07-15 17:54:28 +02:00
octoprint.init added init script 2013-03-24 13:16:17 +01:00
requirements-bbb.txt Replaced socket.io with SockJS 2013-08-26 17:37:13 +02:00
requirements.txt Replaced socket.io with SockJS 2013-08-26 17:37:13 +02:00
run Also recognize --iknowwhatimdoing when running as daemon 2014-01-09 20:06:07 +01:00
setup.py Preparing official "release" of a first rc to help in packaging 2013-10-20 14:39:38 +02:00



Flattr this git repo

OctoPrint provides a responsive web interface for controlling a 3D printer (RepRap, Ultimaker, ...). It is Free Software and released under the GNU Affero General Public License V3.

Its website can be found at octoprint.org.

Reporting bugs

OctoPrint's issue tracker can be found on Github. Before opening a new ticket please take a look at this guide on how to file a bug report with OctoPrint.

Sending pull requests

Please create all pull requests against the devel branch of OctoPrint, as that one is used for developing new features and then merged against master when those features are deemed mature enough for general consumption. In case of bug fixes I'll take care to cherry pick them against master if the bugs they are fixing are critical.


OctoPrint depends on a couple of python modules to do its job. Those are listed in requirements.txt and can be installed using pip:

pip install -r requirements.txt

You should also do this after pulling from the repository, since the dependencies might have changed.

OctoPrint currently only supports Python 2.7.


Just start the server via


By default it binds to all interfaces on port 5000 (so pointing your browser to will do the trick). If you want to change that, use the additional command line parameters host and port, which accept the host ip to bind to and the numeric port number respectively. If for example you want the server to only listen on the local interface on port 8080, the command line would be

./run --host= --port=8080

Alternatively, the host and port on which to bind can be defined via the configuration.

If you want to run OctoPrint as a daemon (only supported on Linux), use

./run --daemon {start|stop|restart} [--pid PIDFILE]

If you do not supply a custom pidfile location via --pid PIDFILE, it will be created at /tmp/octoprint.pid.

You can also specify the configfile or the base directory (for basing off the uploads, timelapse and logs folders), e.g.:

./run --config /path/to/another/config.yaml --basedir /path/to/my/basedir

See run --help for further information.


If not specified via the commandline, the configfile config.yaml for OctoPrint is expected in the settings folder, which is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on MacOS.

A comprehensive overview of all available configuration settings can be found on the wiki.

Setup on a Raspberry Pi running Raspbian

A comprehensive setup guide can be found on the wiki.