Run a simulated Klipper 3D-Printer in a Docker container
Find a file
2026-01-10 16:57:07 +01:00
.github/workflows ci: update actions/checkout to v6 in publish.yml (#65) 2026-01-10 16:57:07 +01:00
config refactor: minify docker image (#55) 2025-08-17 21:18:52 +02:00
example-configs refactor: minify docker image (#55) 2025-08-17 21:18:52 +02:00
mjpg_streamer_images feat: add dummy webcam streamer (#9) 2022-06-18 15:59:02 +02:00
scripts refactor: minify docker image (#55) 2025-08-17 21:18:52 +02:00
.editorconfig style: fix indents, add .editorconfig (#36) 2024-08-17 14:34:22 +02:00
.env.example feat: add support for custom klipper repo urls (#27) 2024-06-11 07:49:16 +02:00
.gitattributes fix: add .gitattributes to force bash scripts to have LF line endings (#35) 2024-07-26 16:09:52 +02:00
.gitignore fix: update README instructions for docker-compose file usage (#64) 2026-01-10 16:56:56 +01:00
docker-compose.build.yml feat: use pre-build image per default (#59) 2025-08-18 21:50:46 +02:00
docker-compose.yml feat: use pre-build image per default (#59) 2025-08-18 21:50:46 +02:00
Dockerfile fix: add missing iproute2 package for Moonraker (#63) 2026-01-10 16:56:41 +01:00
LICENSE Create LICENSE 2022-02-10 22:05:49 +01:00
README.md fix: update README instructions for docker-compose file usage (#64) 2026-01-10 16:56:56 +01:00

License

Virtual-Klipper-Printer

This project provides a Docker container that simulates a Klipper 3D printer, allowing you to test and develop Klipper Components without needing a physical printer. It also includes Moonraker, a dummy webcam, and a pre-configured Klipper instance.


Setup Instructions

There are two ways to set up the Virtual-Klipper-Printer. You can use the pre-built Docker image from GitHub Container Registry or build the image yourself using the provided Dockerfile.

Prerequisites

  • Docker and Docker Compose installed on your system (see Docker Installation Guide)
  • A terminal or command line interface to run Docker commands

The recommended way to set up the Virtual-Klipper-Printer is to use the pre-built Docker image available on GitHub Container Registry. This method is simpler and faster, as it does not require building the image yourself.

  1. Clone this repository
  2. Open a terminal in the cloned folder
  3. Run docker compose up -d to build the docker image and start the container in detached mode

Option 2: Building the Docker Image Yourself

This option allows you to build the Docker image from the provided Dockerfile. This is useful if you want to customize the image or if you prefer to build it yourself. It's possible to change the Klipper Repo URL with this method.

  1. Clone this repository
  2. Copy docker-compose.build.yml to docker-compose.override.yml.
  3. Edit the docker-compose.override.yml file to change the KLIPPER_REPO_URL variable to your desired Klipper repository URL (default is the official Klipper repository)
  4. Open a terminal in the cloned folder
  5. Run docker compose up -d --build to build the docker image and start the container in detached mode

Configure a Dummy-Webcam

To configure a dummy-webcam, use the following URLs:

  • Stream: http://localhost:8110/?action=stream
  • Snapshot: http://localhost:8110/?action=snapshot

Common Docker commands

  • Get all container IDs: docker ps -a
  • Get only the ID of running containers: docker ps
  • Access a containers shell: docker exec -it <CONTAINER ID> bash
  • Start/Restart/Stop a container: docker container start/restart/stop <CONTAINER ID>
  • Remove a container: docker container rm <CONTAINER ID>