Please visit Octofarm's Features Page to log a request.
OctoFarm is an easy to setup and install web server and client 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.
Explore the docs »
OctoFarm Bug
·
Request Feature
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.
To get a local copy up and running follow these simple steps.
Currently there are issues with using the Global API Key to connect to these instances of OctoPrint. Please use the first user you setup on OctoPrint and a generated Application / User API key from this user to connect. I will be updating OctoFarm to work better with all permission sets eventually but for now this will allow a connection to be established.
Confirmed working on: Linux (Ubuntu, Debian), RaspberryPi (Rasbian), Windows 10. Should also work on but not tested: MacOS, anything else nodejs will run on.
Note: Raspberry Pi's Raspbian OS doesn't officially support running MongoDB yet (MongoDB requires a 64bit kernel, whereas Raspbian's is 32bit), so in that case, you'll need an external database running on some other machine or VM.
All browsers should now be supported in OctoFarm. Please log an issue if this is not the case.
On your OctoPrint instance
- User Name -> User Settings
- Copy the API Key some place easy to get to
- Enabled the "Allow Cross Origin Resource Sharing (CORS)
- Restart OctoPrint
- Repeat for all OctoPrints that will be added to the Farm
#See The WIKI for more detailed instructions than what's available below
All user documentation is now moving to OctoFarm.net. Development documentation below.
- Clone the OctoFarm
git clone https://github.com/NotExpectedYet/OctoFarm.git
- Install NPM packages
npm install
- Edit the /config/db.js file with your database.
module.exports = {
MongoURI: "mongodb://192.168.1.5:27017/octofarm"
};
//Example Local URL: "mongodb://192.168.1.5:27017/octofarm"
//Example Remote URL: "mongodb+srv://s1mpleman:<YOUR PASSWORD>@cluster0-lgugu.mongodb.net/test?retryWrites=true&w=majority"
- Install nodemon
npm install --save-dev nodemon
- Start the system
npm run dev
- The developer version uses nodemon for live server reloading on changes. It will output all the logs to the console.
- The developer version will skip some basic sanity checks, if your pages don't load right after server boot then it's because those sanity checks haven't finished.
These are planned but not available yet...
I am currently not accepting any contribution to the code. I started this project to teach myself nodejs and Javascript better. With my current plans I will have exhausted most learning opportunities by Version 1.2 and will be happy to take pull requests from people then. Thanks for understanding.
Distributed under GNU Affero General Public License v3.0. See LICENSE
for more information.
-
Email: Email NotExpectedYet
-
Project Link: https://github.com/NotExpectedYet/OctoFarm
-
Discord: Discord
- 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.
- Derek from 3D Printed Debris - Massive big thanks to Derek who has donated a lot of time and money to the project. I don't think I'd have continued at the rate I did without his bug reports and support.
- All Patreon Supporters and random donations! - Big massive thanks for these, they keep me full of steak!
- The users calonmer, Insertion and noxin from my discord server! Seriously no end to my thanks for these 3.
- JetBrains IDE - Thanks to JebBrains for allowing a free license to use with developing my application. Their IDE is top notch!