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
- Need help?
- Getting Started
- Installation Production
- Installation Development
- License
- Contact
- Acknowledgements
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.
Feel free to join any of the OctoFarm communities or follow OctoFarms progress on it's blog.
- OctoFarms Website - Having issues...
- OctoFarms Documentation
- OctoFarm Blog - Having issues...
- Community Support on Facebook
- Community Support on Discord
- General Question or Feature Request?
- Fancy donating to the project?
Before installing, it is best to read the getting started documents here: Getting Started
Check out the OctoFarm documentation website for installation instructions on various platforms Getting Started
- Git
- NodeJS > v14
- npm
- Clone the OctoFarm
git clone https://github.com/NotExpectedYet/OctoFarm.git
- Install the mono-repo eslint dependencies (eslint, prettier and nodemon)
npm install
- Install server and client dependencies
npm run setup-dev
- 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
- Build the latest client
npm run build-client
- (Optional): Watch for client changes, requires a secondary console.
npm run dev-client
- 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.
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.
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.
You can contact me at info@notexpectedyet.com
- 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!