Skip to content

OctoFarm is an web server and client combination for unifying multiple instances of Octoprint. You can manage and monitor as many instances as you want from a single interface giving you full control over your 3D printer farm.

License

Notifications You must be signed in to change notification settings

bharvey88/OctoFarm

 
 

Repository files navigation

Docker Pulls GitHub stars GitHub forks GitHub license GitHub Workflow Status GitHub issues Maintenance Download Dockerhub

OctoFarm Latest Release

Logo

OctoFarm is a single pane of glass that combines multiple OctoPrint instances into a single interface. It utilises the OctoPrint API and websocket systems to monitor and allow management of your 3d printer farm.

A free and open source makers farm management software
Explore the documentation

· Report a bug · Request a feature or ask a question

About OctoFarm

OctoFarm Dashboard

OctoFarm was built to fill a need that anyone with multiple 3D printers with Octoprint will have run into. How do I manage multiple printers from one place? That's where OctoFarm steps in, add your OctoPrint instances to the system and it will scan and keep you up to date on the status of your printers.

Built by a maker, for makers to get more out of their OctoPrint run farms.

  • Manager your OctoPrint instances right down to triggering Updates and Plugin installs.
  • Keep a track of all the live data on your farm with a selection of views.
  • Manage your OctoPrint file system.
  • Get an overview of your farm with the customisable dashboard.
  • Manage and track filament on your farm.
  • Track history and logs for all of your instances.
  • Supports a wide variety of OctoPrint plugins to augment the OctoFarm system with more information.

Need help?

Feel free to join any of the OctoFarm communities or follow OctoFarms progress on it's blog.

Getting Started

Before installing, it is best to read the getting started documents here: Getting Started

Installation Production

Check out the OctoFarm documentation website for installation instructions on various platforms Getting Started

Installation Development

Requirements

  • Git
  • NodeJS > v14
  • npm
  1. Clone the OctoFarm
git clone https://github.com/NotExpectedYet/OctoFarm.git
  1. Install the mono-repo eslint dependencies (eslint, prettier and nodemon)
npm install
  1. Install server and client dependencies
npm run setup-dev
  1. Create an .env file in the OctoFarm folder's root directory. e.g. OctoFarm/.env. Paste in the contents below.
NODE_ENV=development
MONGO=mongodb://127.0.0.1:27017/octofarm
OCTOFARM_PORT=4000
  1. Build the latest client
npm run build-client
  1. (Optional): Watch for client changes, requires a secondary console.
npm run dev-client
  1. Start the server
npm run server-dev
  • The developer version uses nodemon for live server reloading on changes. It will output all the logs to the console.

Contributing

I don't mind taking contributions to the code. Just be warned OctoFarm is an ever evolving environment due to how it was originally a learning project for myself and JavaScript.

It's a great repository if anyone would like to practice their code clean-up and refactoring skills.

Currently I'm planning to fix this with V2.0 but that is held on a private repository.

If you'd like to contribute something, then please take a look at the open project on this repository, or feel free to open a discussion with your plans.

License

This work is licensed under the GNU Affero General Public License v3.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

Contact

You can contact me at [email protected]

Acknowledgements

  • My Patreons - You all keep me going and afford me a financial incentive to keep OctoFarm up to date with new features and fixes! Biggest thanks of all.
  • Gina Häußge - Without OctoPrint none of this would be possible. Massive thanks to the work of Gina and everyone who helps out with that.
  • JetBrains IDE - Thanks to JebBrains for allowing a free license to use with developing my application. Their IDE is top notch!

About

OctoFarm is an web server and client combination for unifying multiple instances of Octoprint. You can manage and monitor as many instances as you want from a single interface giving you full control over your 3D printer farm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 79.8%
  • EJS 19.6%
  • Other 0.6%