How to: Create Printer Cluster Image
This Page has a full documentation on how the Printer Cluster Image is created, so it can be reproduced or modified. This will of course be an advanced process, so the reader should have a basic understanding about linux in general and SSH in specific.
Creating the Image
As a basic, we use Octopi, therefore our basic assumption is the use of the octopi image found here: Link
However, this set of rules should work basically on every Debian based system (like Ubuntu), some commands may need adjustment and of course there should be about the same folder structure regarding the location of octoprint and it's configuration folders. There is however nothing ARM specific involved so there is nothing strictly speaking against porting the system to a desktop or laptop.
For a manual on how to write the octopi to an SD card and connect it to the network look here How_to:Write_Image_to_SD_Card
The custom setup
After logging into the pi with SSH (basic credentials: pi, raspberry) we can start customizing the image to fit our needs. The credentials and data for setting up the Printer Cluster System are collected together in a zip found here File:PrinterClusterData.zip.
This File contains a Readme with a full step by step manual on how the image Printer Cluster image was created additionaly to all files that are needed for the setup (the instructions are also listed below). For getting the files and readme onto the pi we may use wget, taking the file directly from the wiki.
When the (command line) instructions of the readme or below are followed, we should have the system ready, after reboot it should recognize all attached 3d Printer.
Instructions
sudo raspi-config
<-- Expand File System, Change User Password, change hostname to 'replab'
sudo -i
apt-get purge haproxy -y
service octoprint stop
apt-get update
apt-get upgrade -y
apt-get install htop apache2 libapache2-mod-wsgi python-flask python-serial freecad -y
a2enmod wsgi
rm /etc/apache2/sites-enabled/000-default.conf
Place Files, the folder RepLabHUB gets placed in /var/www The .conf file to /etc/apache2/sites-available/ Lastly, the scripts folder in /home/pi/scripts The .local file into /etc/ (yes, override) Moving a folder means NOT moving the folder contents there, but the folder itself
a2ensite RepLabHUB
echo "www-data ALL=(ALL) NOPASSWD: /sbin/reboot" >> /etc/sudoers
chown -R www-data:www-data /var/www/RepLabHUB
chown root:root /etc/rc.local
chmod +x /etc/rc.local
reboot
Little addendum: The reboot will result in the start of the completed Server, this means for perfect efficiency, plug in your Printers BEFORE doing the last step, they will be recognized and available on restart. Otherwise, you have to start a scan manually after plugging in the printers