Skip to content
BEEsoft.web provides a web interface for controlling Beeverycreative 3D printers (BEETHEFIRST, BEETHEFIRST+, ...).
Branch: master
Clone or download
Pull request Compare This branch is 1052 commits ahead, 1063 commits behind foosel:master.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Some rephrasing May 12, 2017
firmware New firmware to prevent extruder steps loss after downgrading and upd… May 3, 2018
scripts Merge branch 'develop' into feature/cura2.6 Sep 21, 2017
tests Make sure to properly handle unicode passwords May 2, 2017
translations BEEWEB-235 Updated translations pot file + README Jan 8, 2018
.gitattributes BEEWEB-121 update to octoprint 1.2.17 Nov 14, 2016
.versioneer-lookup Fix typo: Celcius to Celsius (foosel#1826) Mar 20, 2017 Prepare release of 1.3.4 (hotfix) Jun 1, 2017
LICENSE Merge branch 'maintenance' into devel Jul 18, 2016
beesoft_switch_branch.bat BEEWEB-207 Spanish translations Sep 28, 2017
requirements.txt Removed accidentally committed line in requirements.txt Mar 12, 2015
run changed magic line from python->python2 Sep 17, 2015
setup.cfg Have tag based branches not report post versions unless dirty Apr 13, 2017


alt text

BEEweb is a web interface designed to run in a RaspberryPi and it is used for controlling a Beeverycreative printer (BEETHEFIRST, BEETHEFIRST+, ...). It is Free Software and released under the GNU Affero General Public License V3.

This project is based on the open-source project [Octoprint] (

Installation & Dependencies

BEEweb depends on a couple of python modules to do its job. Those are automatically installed when installing BEEweb via

python install

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

BEEweb currently only supports Python 2.7.


Running the script via

python install

installs the beeweb script in your Python installation's scripts folder (which depending on whether you installed BEEweb globally or into a virtual env will be on your PATH or not). The following usage examples assume that said beeweb script is on your PATH.

You can 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

beeweb --host= --port=8080

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

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

beeweb --daemon {start|stop|restart} [--pid PIDFILE]

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

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

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

See beeweb --help for further information.

BEEweb 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 beeweb script.


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

Please note that the most commonly used configuration settings can also easily be edited from BEEweb's settings dialog.

If you want to customize the look of the application change the octoprint.less file under the static/less directory. Install the tool lessc using npm, and compile the main less file using the following command line:

$ lessc -x octoprint.less ../css/octoprint.css


If you to generate the base .pot file with all the translations, run the following command in the root of the project:

$ pybabel extract -F babel.cfg -k lazy_gettext -o translations/messages.pot .

If you want to generate the translation binary files from the .po files run the following command:

$ msgfmt messages.po --output-file

or use the utility script in the project root:


You can’t perform that action at this time.