When we started setting up our 3D printer, I installed Cura on my laptop … but I don’t want to leave my laptop in the office & hooked up to the printer for a day or two. We could install Cura on the server and use it to print, but we’d also need to use something like xvnc so we could remotely initiate a print job and not need to stay connected to a redirected X session for a day or two. Thus began the quest for a server-based 3D printer controller. I think we’re going to use OctoPrint on our Fedora server.
There are a few prerequisities: python, python-pip, and python2-virtualenv, and git-core (well, you can just download/extract the project … but having a git client is quicker/easier).
In the directory where you want the OctoPrint folder, run “git clone https://github.com/foosel/OctoPrint.git”
Create a user for octoprint and add that user to the tty and dialout groups.
Create a python virtual environment: virtualenv venv
Install OctoPrint into the new environment: ./venv/bin/python setup.py install
Log into the octoprint service account (interactive logon or su), start a screen session for the server, then start the server with in the screen:
su – myserviceaccount
screen -d -m -S OctoPrintServer
screen -x OctoPrintServer
/path/to/OctoPrint/venv/bin/octoprint
Then access the web service and continue setup – the default port is 5000. My next step is to write an init script so the server will auto-launch on restart … but this is functional enough to start printing.