It allows discovery of the OctoPrint instances via SSDP/UPNP. If
pybonjour is installed OctoPrint
will additionally support discovery via ZeroConf, also known as Bonjour or Avahi.

The SSDP/UPNP support allows OctoPrint to announce itself to machines on the same
network running Microsoft Windows. You will be able to just double click on the
OctoPrint instance icon in “Networks > Other Devices” in your Windows Explorer,
which will take you directly to the web frontend.

The ZeroConf support allows OctoPrint to announce itself to Safari on MacOS X
on the same network.

Linux users should install Avahi and can then use one
of the various Avahi browsers (e.g. avahi-browse for the command
line) to scan for available instances.

OctoPi versions 0.12.0 and later already come with pybonjour installed and ready to go,
you don’t need to perform these steps there.

Note

Currently there are no releases for pybonjour available on the Python Package Index PyPI. The latest pybonjour
release is still available in the Google Code Archive.
Since that URL is hilariously long though, a shortened version is provided with https://goo.gl/SxQZ06 and
used in the installation instructions below.

In order for the Zeroconf discovery to work, the
pybonjour package needs to be available
to the Python installation running OctoPrint.

It can be installed via pip. Let’s assume you installed OctoPrint manually
into some folder ~/OctoPrint. You executed pythonsetup.pyinstall within a
virtualenv in the same folder called venv. In order to install pybonjour
so it will be available to OctoPrint you’ll need to do the following:

venv/bin/pipinstallhttps://goo.gl/SxQZ06

Linux users: You’ll need to install an additional dependency for this to work, the
libdnssd compatibility layer for libavahi. On Debian/Ubuntu that can be achieved with: