We've set up a fairly intricate Octoprint installation to handle sending to our 3(so far) configured printers. Each Octoprint instance lives in a Docker container on a Debian Linux server. There's some special plumbing in place to allow access to each printer (and eventually camera?) via USB uniquely.
(add full details of how this is set up and administered….)
Links to the instances (only usable on MakerNet):
Adding a new printer: The easiest way is probably to duplicate an existing printer's Docker setup (they're all in /root/) and edit the docker-compose.yml to taste:
Using udev to map the serial port to a persistent name:
Also in the works, but not complete yet: