attempt at docker container

This is my attempt at a dockerized version of the repetier-server package:

https://github.com/jhoogeboom/repetier-server

There are some gross hacks in there currently, some due to the base from resin, some due to the way the post install scripts attempt to launch the service straight away which does not seem to work too well with the docker build steps.

Have you thought about making it easier to dockerize? Also anyone feel free to improve on this!

Comments

  • Not sure the server is a good candidate for a general docker container. I‘m no docker expert, but how would you handle multiple printers and webcams. If i understand it correctly, you need to configure all external connections and these vary a lot.

    Starting the server after install is a must or users would complain that it does not work after install. Or is there a methid i do not know to do this that makes it more compatible with docker build and stil starts server afterwards?
  • I'm also not a docker expert, but the general idea is a container per process and don't persist any state in the containers. A webcam would run as a separate container and the repetier docker would connect to it using it's port. It is a bit of configuration that way, but you can capture that in a docker-compose file that maps out which containers you want and how they should connect. Multiple printers I think is just a configuration that's stored in `/var/lib/Repetier-Server`, that whole folder is data that needs to persist and is stored in a docker volume.

    That last point, I think it's fair especially for users that aren't used to this, but most other packages don't start themselves after installing I think? I'm just reading up on this as I write this, but I'll try to mask the service before installing.
  • Multiple printers means you need to connect multiple devices. What i mean is that you hardcoded a special device in your docker, so if i have another name or multiple names, you need a different docker container. The benefit i see is of course that it now would be installable on fedora, centos, ... Maybe that could be done in the docker installation like you can mount external drives.

    Lately i had some things done with docker so i hope to learn enough to imrove on this.

  • You can use  the --device /dev/ttyUSB0 to pass in a device and give docker access to it, can be used directly, or multiple in the docker-compose file as a list.
  • Sounds good. Will make some experiments when i get some time.
Sign In or Register to comment.