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 "master" 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-simulavr
This 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-simulavr
The 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
/pysimulavr
Any 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-simulavr
Some 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-timelapse
latest
: points to Klipper and Moonraker "master" 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-simulavr
A 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