Giter Club home page Giter Club logo

karmen's Introduction

Karmen - monitor and manage your 3D printers

Documentation Status Build status Gitter chat

Karmen aims to give its users a single place for monitoring and managing multiple 3D printers. While existing solutions such as Octoprint excel in controlling a single printer, there does not seem to be an open source platform for a multi-printer setup or even a large scale printer farm.

Our solution is a perfect fit for a shared makerspace, small batch part factory or a public school that offers multiple printers to various users.

Contributing and support

If you would like to take part in this project, hit us up on [email protected] or leave us a note on Gitter. You can read more in our contributing rules.

If you are interested in a more in-depth documentation, go visit our docsite.

Installation and usage

Check our documentation for up to date instructions.

Development

While it is possible to run both the Python backend and Javascript frontend as standalone projects, the most comfortable way is again with docker compose.

$ git clone [email protected]:fragaria/karmen.git && cd karmen/ # get the repo
$ mkdir tmp && docker-compose up --build
# GO VISIT http://localhost:3000/

The network autodiscovery via ARP does not work at all in the dev mode. The mDNS resolution also does not work in the dev mode due to the networking configuration. (You can enable these two features by altering the network settings of the containers, check docker-compose.release.yml for inspiration).

On the other hand, two fake virtual printers are automatically added to your envirnoment, so you have a few things to play with.

Note: If something suddenly breaks within this setup, try to clean docker with docker system prune, it might help.

Versioning and releases

If you are making a new release, you need to tag this repository and Travis does the rest. You also want to bump the version numbers in the appropriate places in source code, such as package.json, Python modules etc. That's exactly what the make-version.py script does. So the release procedure would be:

$ VERSION=1.2.3
$ python make-version.py $VERSION
$ git add src/ docs/ && git commit -m "Version $VERSION" && git tag "v${VERSION}"

License

All of the code herein is copyright 2019 Fragaria s.r.o. and released under the terms of the GNU Affero General Public License, version 3.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.