Simple Docker image running Klipper with Simulavr, Moonraker, and mjpg-streamer.
This repo will run a GitHub action every hour to check for new code on the default branches of the Klipper and Moonraker repositories, and creates a new Docker image if there are any modifications.
Create and run the new container as you would normally do:
docker run -d \
--name klipper-simulavr \
--net=host \
ei99070/docker-klipper-simulavrThis will start Klipper with a simulated Atmel ATmega micro-controller, Moonraker on port 7125, and mjpg-streamer on port 8080.
If you need to remap the default ports, run the container under the bridge network instead:
docker run -d \
--name klipper-simulavr \
-p 7125:7125 \
-p 8080:8080 \
ei99070/docker-klipper-simulavrThe default configuration files used can be found on the klipper_config folder.
This is the runtime folder structure:
/printer
/klipper
/klippy-env
/mjpg-streamer
/moonraker
/moonraker-env
/printer_data
/config
/moonraker.conf
/printer.cfg
/database
/gcodes
/logs
/klippy.log
/moonraker.log
/supervisord.log
/moonraker.asvc
/pysimulavrAny of these files can be overrided by mapping the folder or the specific file.
For example, here is how to override the default printer.cfg:
docker run -d \
--name klipper-simulavr \
--net=host \
-v my-printer.cfg:/printer/printer_data/config/printer.cfg \
ei99070/docker-klipper-simulavrSome Klipper extra modules are included as part of this image, specifically:
virtual_pins- https://github.com/pedrolamas/klipper-virtual-pinsgcode_shell_command- https://github.com/th33xitus/kiauh
The image includes the following convenience scripts:
enable-timelapse- installs the Moonraker Timelapse dependencies, updates the configuration files, and restart Klipper and Moonrakerrestore-klipper-repo- restores the Klipper git repository to the same point where the docker image was createdrestore-moonraker-repo- restores the Moonraker git repository to the same point where the docker image was created
Once the Docker container has started, these can be easily run:
docker exec -it klipper-simulavr enable-timelapselatest: points to Klipper and Moonraker default branchesklipper-sha-<hash>: points to the Klipper GitHub commit hashmoonraker-sha-<hash>: points to the Moonraker GitHub commit hash
Start the container with SIMULAVR_PACING_RATE environment variable set to something like 0.2, like this:
docker run -d \
--name klipper-simulavr \
--net=host \
-e SIMULAVR_PACING_RATE=0.2
ei99070/docker-klipper-simulavrA lot of time and effort goes into the development of this and other open-source projects.
If you find this project valuable, please consider supporting my work by making a donation.
Thank you for your generosity and support! 🙏
MIT