From b320082092a9d3afcaf35cc36d6dff45d613286e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20K=C3=BCffner?= Date: Sat, 16 Oct 2021 21:28:14 +0200 Subject: [PATCH] add moonraker and fluidd --- config/moonraker.cfg | 16 ++++++++++++++++ config/printer.cfg | 12 ++++++++++++ docker-compose.yaml | 26 ++++++++++++++++++++++++++ klipper.Dockerfile | 6 +++--- moonraker.Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 config/moonraker.cfg create mode 100644 moonraker.Dockerfile diff --git a/config/moonraker.cfg b/config/moonraker.cfg new file mode 100644 index 0000000..2077533 --- /dev/null +++ b/config/moonraker.cfg @@ -0,0 +1,16 @@ +[server] +host: 0.0.0.0 +port: 7125 +klippy_uds_address: /opt/run/klipper.sock +config_path: /opt/cfg +database_path: /opt/db + +[authorization] +trusted_clients: + 0.0.0.0/0 +cors_domains: + * + +[octoprint_compat] +[history] + diff --git a/config/printer.cfg b/config/printer.cfg index 31920bd..d5d32e2 100644 --- a/config/printer.cfg +++ b/config/printer.cfg @@ -23,6 +23,11 @@ recover_velocity: 225 [respond] +[virtual_sdcard] +path: /opt/gcode + +[display_status] + ## Stepper [stepper_x] step_pin: PA7 @@ -336,3 +341,10 @@ gcode: [gcode_macro M107] gcode: SET_TOOL_FAN SPEED=0 + +## Required by Fluidd +[gcode_macro CANCEL_PRINT] +rename_existing: CANCEL_PRINT_BASE +gcode: + TURN_OFF_HEATERS + CANCEL_PRINT_BASE diff --git a/docker-compose.yaml b/docker-compose.yaml index 47439cc..6497fe0 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,6 +1,7 @@ version: '3.4' services: + klipper: image: klipper:latest build: @@ -14,8 +15,33 @@ services: volumes: - ./config:/opt/cfg - run:/opt/run + - gcode:/opt/gcode devices: - /dev/ttymxc3:/dev/ttymxc3 + moonraker: + image: moonraker:latest + build: + dockerfile: moonraker.Dockerfile + context: . + container_name: moonraker + restart: unless-stopped + volumes: + - ./config:/opt/cfg + - run:/opt/run + - gcode:/opt/gcode + - db:/opt/db + ports: + - 7125:7125 + + fluidd: + image: cadriel/fluidd:latest + container_name: fluidd + restart: unless-stopped + ports: + - 80:80 + volumes: run: + gcode: + db: diff --git a/klipper.Dockerfile b/klipper.Dockerfile index 1e9dd1c..89a7fbf 100644 --- a/klipper.Dockerfile +++ b/klipper.Dockerfile @@ -16,14 +16,14 @@ RUN pip install -r klipper/scripts/klippy-requirements.txt ## Compile Python code RUN python klipper/klippy/chelper/__init__.py -## Create directories -RUN mkdir run cfg +## Create Directories +RUN mkdir run cfg gcode ## User & Permissions RUN groupadd klipper --gid 1000 \ && useradd klipper --uid 1000 --gid klipper \ && usermod klipper --append --groups dialout \ - && chown -R klipper:klipper klipper run cfg + && chown -R klipper:klipper klipper run cfg gcode ## --- Targets --- diff --git a/moonraker.Dockerfile b/moonraker.Dockerfile new file mode 100644 index 0000000..919a5f0 --- /dev/null +++ b/moonraker.Dockerfile @@ -0,0 +1,41 @@ +FROM python:3 + +ARG REPO=https://github.com/Arksine/moonraker +ARG VERSION=master + +WORKDIR /opt + +## Install Requirements +RUN apt update \ + && apt install -y \ + libopenjp2-7 \ + python3-libgpiod \ + curl \ + libcurl4-openssl-dev \ + libssl-dev \ + liblmdb0 \ + libsodium-dev \ + zlib1g-dev + +## Download moonraker +RUN git clone ${REPO} moonraker \ + && cd moonraker \ + && git checkout ${VERSION} + +## Setup Python +RUN pip install -r moonraker/scripts/moonraker-requirements.txt + +## Create Direcories +RUN mkdir run cfg gcode db + +## User & Permissions +RUN groupadd moonraker --gid 1000 \ + && useradd moonraker --uid 1000 --gid moonraker \ + && usermod moonraker --append --groups dialout \ + && chown -R moonraker:moonraker moonraker run cfg gcode db + +## Start Klippy +USER moonraker +ENTRYPOINT ["python"] +CMD ["moonraker/moonraker/moonraker.py", "-c", "cfg/moonraker.cfg"] +