2013-01-18 22:23:50 +00:00
OctoPrint
=========
2013-03-15 23:17:12 +00:00
[](https://flattr.com/submit/auto?user_id=foosel& url=https://github.com/foosel/OctoPrint& title=OctoPrint& language=& tags=github& category=software)
2013-07-01 13:23:40 +00:00
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 ](http://www.gnu.org/licenses/agpl.html ).
Its website can be found at [octoprint.org ](http://octoprint.org ).
2014-08-08 15:00:39 +00:00
Contributing
------------
2013-07-15 15:54:28 +00:00
2014-08-08 15:00:39 +00:00
Please see the project's [Contribution Guidelines ](https://github.com/foosel/OctoPrint/blob/master/CONTRIBUTING.md ).
2013-07-15 15:54:28 +00:00
2013-10-20 13:24:13 +00:00
Installation
------------
Installation instructions for installing from source for different operating systems can be found [on the wiki ](https://github.com/foosel/OctoPrint/wiki#assorted-guides ).
If you want to run OctoPrint on a Raspberry Pi you might want to take a look at [OctoPi ](https://github.com/guysoft/OctoPi )
which is a custom SD card image that includes OctoPrint plus dependencies.
2012-12-31 12:18:54 +00:00
Dependencies
------------
2012-12-06 07:57:18 +00:00
2014-08-08 15:00:39 +00:00
OctoPrint depends on a couple of python modules to do its job. Those are automatically installed when installing
OctoPrint via `setup.py` :
2012-12-06 07:57:18 +00:00
2014-08-08 15:00:39 +00:00
python setup.py install
2012-12-06 07:57:18 +00:00
2014-10-27 08:48:54 +00:00
You should also do this every time after pulling from the repository, since the dependencies might have changed.
2013-01-18 22:43:50 +00:00
2013-01-18 22:23:50 +00:00
OctoPrint currently only supports Python 2.7.
2013-01-01 20:04:00 +00:00
2012-12-31 12:18:54 +00:00
Usage
-----
2012-12-06 07:57:18 +00:00
2014-10-27 08:48:54 +00:00
Running the `setup.py` script installs the `octoprint` script in your Python installation's scripts folder
(which depending on whether you installed OctoPrint globally or into a virtual env will be on your `PATH` or not). The
following usage examples assume that said `octoprint` script is on your `PATH` .
You can start the server via
2012-12-05 13:16:50 +00:00
2014-10-27 08:48:54 +00:00
octoprint
2013-01-18 22:39:26 +00:00
2012-12-31 12:18:54 +00:00
By default it binds to all interfaces on port 5000 (so pointing your browser to `http://127.0.0.1:5000`
will do the trick). If you want to change that, use the additional command line parameters `host` and `port` ,
2013-03-11 20:00:43 +00:00
which accept the host ip to bind to and the numeric port number respectively. If for example you want the server
2012-12-31 12:18:54 +00:00
to only listen on the local interface on port 8080, the command line would be
2012-12-06 07:57:18 +00:00
2014-10-27 08:48:54 +00:00
octoprint --host=127.0.0.1 --port=8080
2013-01-18 22:39:26 +00:00
2013-01-01 20:04:00 +00:00
Alternatively, the host and port on which to bind can be defined via the configuration.
2013-03-11 20:00:43 +00:00
If you want to run OctoPrint as a daemon (only supported on Linux), use
2013-03-10 20:33:45 +00:00
2014-10-27 08:48:54 +00:00
octoprint --daemon {start|stop|restart} [--pid PIDFILE]
2013-03-10 20:33:45 +00:00
2013-03-11 20:04:56 +00:00
If you do not supply a custom pidfile location via `--pid PIDFILE` , it will be created at `/tmp/octoprint.pid` .
2013-03-11 20:00:43 +00:00
You can also specify the configfile or the base directory (for basing off the `uploads` , `timelapse` and `logs` folders),
e.g.:
2014-10-27 08:48:54 +00:00
octoprint --config /path/to/another/config.yaml --basedir /path/to/my/basedir
2013-03-11 20:00:43 +00:00
2014-10-27 08:48:54 +00:00
See `octoprint --help` for further information.
2014-08-08 15:00:39 +00:00
2014-10-27 08:48:54 +00:00
OctoPrint also ships with a `run` script in its source directory. You can also invoke that to start up the server, it
takes the same command line arguments as the `octoprint` script.
2014-08-08 15:00:39 +00:00
2013-01-01 20:04:00 +00:00
Configuration
-------------
2013-07-01 13:23:40 +00:00
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.
2013-03-16 01:40:42 +00:00
2013-07-01 13:23:40 +00:00
A comprehensive overview of all available configuration settings can be found
2014-10-27 08:48:54 +00:00
[on the wiki ](https://github.com/foosel/OctoPrint/wiki/Configuration ). Please note that the most commonly used
configuration settings can also easily be edited from OctoPrint's settings dialog.