Commit before merge.
This commit is contained in:
parent
b54ee2512d
commit
9b476a916c
|
|
@ -5,7 +5,7 @@ version: '3'
|
|||
volumes:
|
||||
octoprint_vol: {}
|
||||
octoklipper_vol: {}
|
||||
klipper_vol: {}
|
||||
#klipper_vol: {}
|
||||
|
||||
services:
|
||||
# Octoprint itself
|
||||
|
|
@ -15,14 +15,24 @@ services:
|
|||
args:
|
||||
OP_MACHINE_NAME:
|
||||
release: latest
|
||||
image: amedee/octoprint-octoprint
|
||||
image: cyteen/octoprint-octoprint
|
||||
restart: always
|
||||
environment:
|
||||
WITH_KLIPPER: "yes"
|
||||
OCTO_PRINTER: "/octo_printer"
|
||||
KLIPPER_HOME: "/octo_printer"
|
||||
#WITH_SAFEMODE: "yes"
|
||||
#OCTO_PRINTER: "/octo_printer"
|
||||
OCTO_PRINTER: "/tmp"
|
||||
PRINTER_CFG: "klipper-geeetech-a10-bltouch.cfg"
|
||||
SOCAT_TYPE: "TCP"
|
||||
SOCAT_HOST: "klipper"
|
||||
SOCAT_PORT: "9999"
|
||||
#SOCAT DEBUG: " -d -d -d -t 60 -T 60 "
|
||||
volumes:
|
||||
- octoprint_vol:/opt/octoprint/data
|
||||
- octoklipper_vol:/octo_printer
|
||||
- /home/default/octoprint-containers/octoprint/printerProfiles:/opt/octoprint/data/octoprint/printerProfiles
|
||||
- /home/default/octoprint-containers/octoprint/bin:/opt/octoprint/bin
|
||||
# - tmp:/tmp
|
||||
# Uncomment next line for "Plain Docker" setup
|
||||
# - /run/dbus:/host/run/dbus
|
||||
|
|
@ -64,21 +74,30 @@ services:
|
|||
context: klipper
|
||||
args:
|
||||
KLIPPER_BRANCH: "work-python3-20200612"
|
||||
KLIPPER_HOME: "/octo_printer"
|
||||
PRINTER_CFG: "printer.cfg"
|
||||
OCTO_PRINTER: "/octo_printer"
|
||||
#OCTO_PRINTER: "/octo_printer"
|
||||
OCTO_PRINTER: "/tmp"
|
||||
image: cyteen/octoprint-klipper
|
||||
restart: always
|
||||
devices:
|
||||
- "/dev/ttyUSB0:/dev/ttyUSB0"
|
||||
- "/dev/ttyUSB0:/hostdevices/ttyUSB0"
|
||||
environment:
|
||||
KLIPPER_HOME: "/octo_printer"
|
||||
#PRINTER_CFG: "printer.cfg"
|
||||
PYTHONDIR: "/home/klippy/klippy-env"
|
||||
SRCDIR: "/home/klippy/klipper"
|
||||
PRINTER_CFG: "klipper-geeetech-a10-bltouch.cfg"
|
||||
#PRINTER_CFG: "generic-bigtreetech-skr-v1.3.cfg"
|
||||
#OCTO_PRINTER: "/tmp/printer"
|
||||
OCTO_PRINTER: "/octo_printer"
|
||||
OCTO_PRINTER: "/tmp"
|
||||
#OCTO_PRINTER: "/octo_printer"
|
||||
SER2NET_CONFIG: "9999:raw:0:/tmp/printer:115200 8DATABITS NONE 1STOPBIT -XONXOFF LOCAL -RTSCTS"
|
||||
volumes:
|
||||
- klipper_vol:/${HOME}/.config
|
||||
#- klipper_vol:/${HOME}/.config
|
||||
#- ./klipper/klipper_cfg:/home/klippy/.config/klipper
|
||||
- /home/default/octoprint-containers/klipper/klipper_cfg:/home/klippy/.config/klipper
|
||||
#- ./klipper_cfg:/home/klippy/.config/klipper
|
||||
- octoklipper_vol:/octo_printer
|
||||
#- ./klipper_cfg:/home/default/.config/klipper
|
||||
#- octoprint_vol:/home/default/.config/klipper
|
||||
#- octoprint_vol:/home/klippy/.config/klipper
|
||||
#- octoprint_vol:/tmp
|
||||
#command: ["/home/klippy/klippy-env/bin/python3", "/home/klippy/klipper/klippy/klippy.py", "${OCTO_PRINTER}/${PRINTER_CFG}", "--logfile", "${OCTO_PRINTER}/klippy.log", "--input-tty", "${OCTO_PRINTER}/printer" ]
|
||||
|
|
|
|||
|
|
@ -11,31 +11,50 @@ ENV KLIPPER_BRANCH=${KLIPPER_BRANCH}
|
|||
ARG PRINTER_CFG="printer.cfg"
|
||||
ENV PRINTER_CFG=${PRINTER_CFG}
|
||||
|
||||
ARG OCTO_PRINTER="/tmp/printer"
|
||||
ARG KLIPPER_HOME="/octo_printer"
|
||||
ENV KLIPPER_HOME=${KLIPPER_HOME}
|
||||
|
||||
ARG KLIPPER_SERIAL="/hostdevice/ttyUSB0"
|
||||
ENV KLIPPER_SERIAL=${KLIPPER_SERIAL}
|
||||
|
||||
ARG OCTO_PRINTER="/tmp"
|
||||
ENV OCTO_PRINTER=${OCTO_PRINTER}
|
||||
#RUN export OCTO_DIR=$(dirname ${OCTO_PRINTER}); mkdir ${OCTO_DIR} && chgrp dialout ${OCTO_DIR}
|
||||
|
||||
# SER2NET config string
|
||||
ENV SER2NET_CONFIG "9999:raw:0:${OCTO_PRINTER}/printer:115200 8DATABITS NONE 1STOPBIT -XONXOFF LOCAL -RTSCTS"
|
||||
|
||||
ENV PYTHONDIR "/home/klippy/klippy-env"
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install --no-install-recommends --yes apt-utils sudo python3-pip python3-wheel ser2net procps vim-tiny
|
||||
|
||||
# Packages for python cffi
|
||||
ENV PKGLIST "python3-venv python3 python3-dev libffi-dev build-essential git"
|
||||
RUN apt-get install --no-install-recommends --yes ${PKGLIST}
|
||||
|
||||
# kconfig requirements
|
||||
ENV PKGLIST "${PKGLIST} libncurses-dev"
|
||||
RUN apt-get install --no-install-recommends --yes ${PKGLIST}
|
||||
|
||||
# hub-ctrl
|
||||
ENV PKGLIST "${PKGLIST} libusb-dev"
|
||||
RUN apt-get install --no-install-recommends --yes ${PKGLIST}
|
||||
|
||||
# AVR chip installation and building
|
||||
ENV PKGLIST "${PKGLIST} avrdude gcc-avr binutils-avr avr-libc"
|
||||
RUN apt-get install --no-install-recommends --yes ${PKGLIST}
|
||||
|
||||
# ARM chip installation and building
|
||||
ENV PKGLIST "${PKGLIST} stm32flash dfu-util libnewlib-arm-none-eabi"
|
||||
ENV PKGLIST "${PKGLIST} gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0"
|
||||
RUN apt-get install --no-install-recommends --yes ${PKGLIST}
|
||||
|
||||
|
||||
|
||||
# Update system package info
|
||||
RUN apt-get update && \
|
||||
apt-get install --no-install-recommends --yes ${PKGLIST} sudo python3-pip python3-wheel && \
|
||||
apt-get autoclean
|
||||
#RUN apt-get install --no-install-recommends --yes ${PKGLIST}
|
||||
RUN apt-get autoclean
|
||||
|
||||
RUN echo -e '[global]\n\
|
||||
extra-index-url=https://www.piwheels.org/simple'\
|
||||
|
|
@ -43,16 +62,20 @@ extra-index-url=https://www.piwheels.org/simple'\
|
|||
|
||||
# Create user
|
||||
RUN useradd -ms /bin/bash klippy && adduser klippy dialout
|
||||
|
||||
# Create the shared volume mount point
|
||||
RUN mkdir -p ${KLIPPER_HOME} && chown -R klippy.klippy ${KLIPPER_HOME}
|
||||
|
||||
USER klippy
|
||||
|
||||
|
||||
#This fixes issues with the volume command setting wrong permissions
|
||||
#RUN mkdir -p ${HOME}/.config/klipper/firmware/
|
||||
RUN ls -lh
|
||||
RUN mkdir -p /home/klippy/.config/klipper/printer/
|
||||
RUN mkdir -p /home/klippy/.config/klipper/firmware/
|
||||
|
||||
|
||||
### Klipper setup ###
|
||||
WORKDIR ${HOME}
|
||||
WORKDIR /home/klippy
|
||||
|
||||
USER root
|
||||
RUN mkdir -p /etc/sudoers.d/
|
||||
|
|
@ -65,7 +88,7 @@ USER klippy
|
|||
#RUN ./klipper/scripts/install-octopi.sh
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Download the klipper git repo and checkout the python3 branch
|
||||
## Download the klipper git repo and checkout the python3 branch
|
||||
WORKDIR /home/klippy
|
||||
ENV SRCDIR /home/klippy/klipper
|
||||
RUN git clone --branch ${KLIPPER_BRANCH} --single-branch https://github.com/KevinOConnor/klipper.git ${SRCDIR}
|
||||
|
|
@ -75,13 +98,13 @@ COPY klipper_cfg/firmware/config ${SRCDIR}/.config
|
|||
WORKDIR ${SRCDIR}
|
||||
RUN make
|
||||
|
||||
RUN cp out/klipper.elf.hex ${HOME}/.config/klipper/firmware/
|
||||
RUN cp out/klipper.elf.hex /home/klippy/.config/klipper/firmware/
|
||||
|
||||
## Create python virtual environment
|
||||
# Create virtualenv
|
||||
WORKDIR ${HOME}
|
||||
WORKDIR /home/klippy
|
||||
|
||||
COPY klipper_cfg/printer/ ${HOME}/.config/klipper/printer/
|
||||
#COPY klipper_cfg/printer/${PRINTER_CFG} /home/klippy/.config/klipper/printer/
|
||||
|
||||
ENV VIRTUAL_ENV=${PYTHONDIR}
|
||||
RUN python3 -m venv $VIRTUAL_ENV
|
||||
|
|
@ -89,17 +112,15 @@ ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
|||
|
||||
RUN pip3 install -r ${SRCDIR}/scripts/klippy-requirements.txt
|
||||
|
||||
# && \
|
||||
# ${PYTHONDIR}/bin/python ${SRCDIR}/klippy/klippy.py ${HOME}/.config/klipper/printer/${PRINTER_CFG} -l /var/tmp/klippy.log
|
||||
|
||||
# Install startup script
|
||||
## Install startup script
|
||||
#USER root
|
||||
ENV INIT_FILE /etc/init.d/klipper
|
||||
#ENV INIT_FILE /tmp/init_klipper
|
||||
RUN sudo cp ${SRCDIR}/scripts/klipper-start.sh ${INIT_FILE}
|
||||
RUN sudo update-rc.d klipper defaults
|
||||
|
||||
# Install startup script config
|
||||
## Install startup script config
|
||||
#ENV DEFAULTS_FILE /etc/default/klipper
|
||||
ENV DEFAULTS_FILE /tmp/default_klipper
|
||||
|
||||
|
|
@ -109,18 +130,17 @@ KLIPPER_USER='$USER'\n\
|
|||
\n\
|
||||
KLIPPER_EXEC='${PYTHONDIR}/bin/python3'\n\
|
||||
\n\
|
||||
KLIPPER_ARGS='${SRCDIR}/klippy/klippy.py ${HOME}/.config/klipper/printer/${PRINTER_CFG} -l /tmp/klippy.log -I ${OCTO_PRINTER}'\n\
|
||||
KLIPPER_ARGS='${SRCDIR}/klippy/klippy.py /home/klippy/.config/klipper/printer/${PRINTER_CFG} -l ${KLIPPER_HOME}/klippy.log -I ${OCTO_PRINTER}/printer'\n\
|
||||
\n '\
|
||||
>> ${DEFAULTS_FILE}
|
||||
|
||||
VOLUME ${HOME}/.config
|
||||
#VOLUME /home/klippy/.config
|
||||
|
||||
# Start host software
|
||||
#RUN sudo /etc/init.d/klipper restart
|
||||
#--------------------------------------------------
|
||||
|
||||
CMD ["${PYTHONDIR}/bin/python3", "${SRCDIR}/klippy/klippy.py", "${HOME}/.config/klipper/printer/${PRINTER_CFG}", "-l", "/tmp/klippy.log", "-I", ${OCTO_PRINTER}]
|
||||
COPY bin /home/klippy/bin/
|
||||
|
||||
#CMD ["/home/klippy/klippy-env/bin/python3", "/home/klippy/klipper/klippy/klippy.py", "/home/klippy/.config/klipper/printer/${PRINTER_CFG}", "-l", "tmp/klippy.log", "-I", ${OCTO_PRINTER}]
|
||||
|
||||
#CMD ["/home/klippy/klippy-env/bin/python3", "/home/klippy/klipper/klippy/klippy.py", "/home/klippy/.config/klipper/printer/${PRINTER_CFG", "-l", "tmp/klippy.log", "-I", ${OCTO_PRINTER}]
|
||||
#CMD ["${PYTHONDIR}/bin/python3", "${SRCDIR}/klippy/klippy.py", "/home/klippy/.config/klipper/printer/${PRINTER_CFG}", "--logfile", "${KLIPPER_HOME}/klippy.log", "--input-tty", "${OCTO_PRINTER}/printer"]
|
||||
CMD ["/home/klippy/bin/run.sh"]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
# We use the octoklipper_vol to share klippers pseudo-terminal with octoprint, additionally the octoprint plugin requires access to the printer.cfg and klipper.log
|
||||
|
||||
# Create a symlink in the octoklipper_vol to the printer.cfg to be shared with the octoklipper plugin in the octoprint container.
|
||||
# ln -sf /home/klippy/.config/klipper/printer/${PRINTER_CFG} ${KLIPPER_HOME}/${PRINTER_CFG}
|
||||
|
||||
cp /home/klippy/.config/klipper/printer/${PRINTER_CFG} ${KLIPPER_HOME}/${PRINTER_CFG}
|
||||
|
||||
echo "*** Starting ser2net"
|
||||
ser2net -d -u -C "${SER2NET_CONFIG}" &
|
||||
|
||||
# Substitute serial device in the printer config
|
||||
sed -i 's,^\(serial: \).*,\1'${KLIPPER_SERIAL}',' ${KLIPPER_HOME}/${PRINTER_CFG}
|
||||
|
||||
|
||||
touch ${KLIPPER_HOME}/klippy.log
|
||||
|
||||
echo "*** Starting klipper"
|
||||
${PYTHONDIR}/bin/python3 ${SRCDIR}/klippy/klippy.py ${KLIPPER_HOME}/${PRINTER_CFG} --logfile ${KLIPPER_HOME}/klippy.log --input-tty ${OCTO_PRINTER}/printer
|
||||
|
|
@ -2,12 +2,12 @@
|
|||
# --no-cache \
|
||||
# --build-arg PRINTER_CFG klipper-geeetech-a10-bltouch.cfg \
|
||||
# --build-arg PRINTER_CFG generic-bigtreetech-skr-v1.3.cfg \
|
||||
# -v ${PWD}/klipper_cfg:${HOME}/.config/klipper \
|
||||
docker build \
|
||||
--no-cache \
|
||||
--progress=plain \
|
||||
--build-arg KLIPPER_BRANCH="work-python3-20200612" \
|
||||
--build-arg PRINTER_CFG="printer.cfg" \
|
||||
--build-arg OCTO_PRINTER="/tmp/printer" \
|
||||
--build-arg OCTO_PRINTER="/octo_printer" \
|
||||
-t cyteen/octoprint-klipper \
|
||||
-f Dockerfile \
|
||||
.
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@ step_pin: ar25
|
|||
dir_pin: ar23
|
||||
enable_pin: !ar27
|
||||
step_distance: .0025
|
||||
endstop_pin: ^!ar30
|
||||
#endstop_pin: ^!ar30
|
||||
position_endstop: 0
|
||||
#endstop_pin: probe:z_virtual_endstop
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_max: 250
|
||||
position_min: -2
|
||||
|
||||
|
|
@ -196,8 +196,8 @@ speed: 50
|
|||
horizontal_move_z: 6
|
||||
samples: 3
|
||||
sample_retract_dist: 2.5
|
||||
min_point: 54,15
|
||||
max_point: 233,220
|
||||
mesh_min: 54,15
|
||||
mesh_max: 233,220
|
||||
probe_count: 4,4
|
||||
algorithm: lagrange
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
docker run -i -t \
|
||||
--rm \
|
||||
-v $(pwd)/klipper_cfg:/home/klippy/.config/klipper \
|
||||
-v octoklipper_vol:/octo_printer \
|
||||
cyteen/octoprint-klipper \
|
||||
/bin/bash
|
||||
#python3 /home/klippy/klipper/klippy/klippy.py /home/klippy/.config/klipper/printer/printer.cfg -l /tmp/klippy.log -I /octo_printer
|
||||
|
||||
#docker run -i -t \
|
||||
# --rm \
|
||||
# -v $(pwd)/klipper_cfg:/home/klippy/.config/klipper \
|
||||
# -v octoklipper_vol:/octo_printer \
|
||||
# 884b3944402a \
|
||||
# /bin/bash
|
||||
# #python3 /home/klippy/klipper/klippy/klippy.py /home/klippy/.config/klipper/printer/printer.cfg -l /tmp/klippy.log -I /octo_printer
|
||||
|
||||
#/bin/bash
|
||||
#-v klipper_vol:${HOME}/.config \
|
||||
#-v octoklipper_vol:/octo_printer \
|
||||
|
||||
|
|
@ -6,8 +6,8 @@ SHELL ["/bin/bash", "-c"]
|
|||
ARG WITH_KLIPPER="no"
|
||||
ENV WITH_KLIPPER ${WITH_KLIPPER}
|
||||
|
||||
ARG OCTO_PRINTER="/tmp/printer"
|
||||
ENV OCTO_PRINTER ${OCTO_PRINTER}
|
||||
ARG WITH_SAFEMODE="no"
|
||||
ENV WITH_SAFEMODE ${WITH_SAFEMODE}
|
||||
|
||||
# Balena /bin/sh stub is supposed to cleanup itself, but loops when initally called by apt...
|
||||
# https://github.com/balena-io-library/base-images/issues/637
|
||||
|
|
@ -15,17 +15,17 @@ ENV OCTO_PRINTER ${OCTO_PRINTER}
|
|||
|
||||
RUN echo "deb http://deb.devuan.org/merged/ beowulf main contrib non-free" > /etc/apt/sources.list
|
||||
|
||||
COPY debs/yq_2.11.1_armhf.deb /tmp/yq_2.11.1_armhf.deb
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y python3-pip python3-dev python3-setuptools python3-wheel python3-venv \
|
||||
git build-essential ffmpeg dbus jq curl jq \
|
||||
libffi-dev libssl-dev libyaml-dev zlib1g-dev libjpeg62-turbo-dev && \
|
||||
dpkg -i /tmp/yq_2.11.1_armhf.deb && \
|
||||
git build-essential ffmpeg dbus jq curl jq socat procps vim-tiny \
|
||||
libffi-dev libssl-dev libyaml-dev zlib1g-dev libjpeg62-turbo-dev libatlas-base-dev && \
|
||||
apt-get install -y -f && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN pip3 install yq
|
||||
|
||||
ENV OCTO_DEST /opt/octoprint/OctoPrint
|
||||
|
||||
WORKDIR ${OCTO_DEST}
|
||||
|
|
@ -66,7 +66,9 @@ RUN echo "** Entering virtualenv ${WORKDIR}/venv" && \
|
|||
echo "** venv: Installing PyYAML." && \
|
||||
pip3 install PyYAML && \
|
||||
echo "** venv: Installing numpy." && \
|
||||
pip3 install numpy
|
||||
pip3 install numpy && \
|
||||
echo "** venv: Installing Urllib3." && \
|
||||
pip3 install requests
|
||||
|
||||
RUN echo "** venv: starting setup.py install." && \
|
||||
python3 setup.py install
|
||||
|
|
@ -76,25 +78,28 @@ RUN echo "** venv: installing plugins." && \
|
|||
https://github.com/Octoprint/Octoprint-MQTT/archive/master.zip \
|
||||
https://github.com/birkbjo/Octoprint-Themeify/archive/master.zip \
|
||||
https://github.com/AlexVerrico/Octoprint-Display-ETA/archive/master.zip \
|
||||
https://github.com/FormerLurker/Octolapse/archive/master.zip \
|
||||
https://github.com/pablogventura/Octoprint-ETA/archive/master.zip \
|
||||
https://github.com/1r0b1n0/Octoprint-Tempsgraph/archive/master.zip \
|
||||
https://github.com/tpmullan/Octoprint-DetailedProgress/archive/master.zip \
|
||||
https://github.com/marian42/octoprint-preheat/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-TasmotaMQTT/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-TabOrder/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-BedLevelVisualizer/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-Python3PluginCompatibilityCheck/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-UltimakerFormatPackage/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-ConsolidateTempControl/archive/master.zip \
|
||||
https://github.com/mikedmor/Octoprint_Multicam/archive/master.zip \
|
||||
https://github.com/OllisGit/Octoprint-PrintJobHistory/releases/latest/download/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-PrusaSlicerThumbnails/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-FloatingNavbar/archive/master.zip \
|
||||
https://github.com/jneilliii/Octoprint-PlotlyTempGraph/archive/master.zip \
|
||||
https://github.com/OllisGit/Octoprint-FilamentManager/releases/latest/download/master.zip \
|
||||
https://github.com/OllisGit/Octoprint-DisplayLayerProgress/releases/latest/download/master.zip \
|
||||
https://github.com/MoonshineSG/Octoprint-MultiColors/archive/master.zip \
|
||||
https://github.com/imrahil/Octoprint-PrintHistory/archive/master.zip \
|
||||
https://github.com/Kragrathea/Octoprint-PrettyGCode/archive/master.zip \
|
||||
https://github.com/quanticchaos/OctoPrint-Webcamsb/archive/master.zip
|
||||
#https://github.com/FormerLurker/Octolapse/archive/master.zip \
|
||||
#https://github.com/jneilliii/Octoprint-TasmotaMQTT/archive/master.zip \
|
||||
#https://github.com/mikedmor/Octoprint_Multicam/archive/master.zip \
|
||||
#https://github.com/imrahil/Octoprint-PrintHistory/archive/master.zip \
|
||||
#https://github.com/OllisGit/Octoprint-PrintJobHistory/releases/latest/download/master.zip \
|
||||
#https://github.com/AliceGrey/OctoPrintKlipperPlugin/archive/master.zip \
|
||||
##https://github.com/mmone/OctoPrintKlipper/archive/master.zip
|
||||
#echo "** venv: Installing zip." && \
|
||||
|
|
@ -103,7 +108,28 @@ RUN echo "** venv: installing plugins." && \
|
|||
# klipper
|
||||
# The application of the changes to octoprints config.yaml happen on first run in /opt/octoprint/bin/run.sh copied in above from the build directory.
|
||||
|
||||
ARG SOCAT_TYPE="TCP"
|
||||
ENV SOCAT_TYPE ${SOCAT_TYPE}
|
||||
|
||||
ARG SOCAT_HOST="klipper"
|
||||
ENV SOCAT_HOST ${SOCAT_HOST}
|
||||
|
||||
ARG SOCAT_PORT="9999"
|
||||
ENV SOCAT_PORT ${SOCAT_PORT}
|
||||
|
||||
#ARG SOCAT_DEBUG=" -d -d -d -t 60 -T 60 "
|
||||
ARG SOCAT_DEBUG=""
|
||||
ENV SOCAT_DEBUG ${SOCAT_DEBUG}
|
||||
|
||||
|
||||
ARG KLIPPER_HOME="/octo_printer"
|
||||
ENV KLIPPER_HOME ${KLIPPER_HOME}
|
||||
|
||||
ARG OCTO_PRINTER="/tmp"
|
||||
ENV OCTO_PRINTER ${OCTO_PRINTER}
|
||||
RUN if [ "${WITH_KLIPPER}" = "yes" ]; then \
|
||||
#mkdir -p ${KLIPPER_HOME} && \
|
||||
mkdir ${OCTO_PRINTER} && chgrp dialout ${OCTO_PRINTER} && \
|
||||
pip3 install \
|
||||
https://github.com/AliceGrey/OctoPrintKlipperPlugin/archive/master.zip \
|
||||
; \
|
||||
|
|
@ -111,11 +137,11 @@ RUN if [ "${WITH_KLIPPER}" = "yes" ]; then \
|
|||
|
||||
WORKDIR /opt/octoprint
|
||||
|
||||
COPY bin bin/
|
||||
#COPY bin bin/
|
||||
COPY etc etc/
|
||||
|
||||
|
||||
VOLUME /opt/octoprint/data:w
|
||||
VOLUME /opt/octoprint/data
|
||||
|
||||
|
||||
EXPOSE 5000
|
||||
|
|
|
|||
|
|
@ -7,13 +7,79 @@ if [ ! -f ${BaseDir}/config.yaml ]; then
|
|||
if [[ "${WITH_KLIPPER}" == "yes" ]]; then
|
||||
echo "*** Copying initial config file and enabling klipper"
|
||||
mkdir -p ${BaseDir}
|
||||
yq -Y --arg octo_printer "${OCTO_PRINTER}" '.serial.additionalPorts = "[$octo_printer]" | .serial.baudrate = 250000 | .serial.disconnectOnErrors = "[false]" | .serial.port = "$octo_printer" ' etc/config.yaml > ${BaseDir}/config.yaml
|
||||
else
|
||||
echo "*** Copying initial config file"
|
||||
mkdir -p ${BaseDir}
|
||||
cp etc/config.yaml ${BaseDir}
|
||||
|
||||
yq -Y --arg octo_printer_port "${OCTO_PRINTER}/printer" \
|
||||
--arg printer_cfg_path "${KLIPPER_HOME}/${PRINTER_CFG}" \
|
||||
--arg klipper_log "${KLIPPER_HOME}/klippy.log" \
|
||||
--arg klipper_port "${OCTO_PRINTER}/printer" '
|
||||
.accessControl.salt = "vsT8lIM7l4BFopzXddW3mHnPbMZihN8a"
|
||||
| .api.key = "F337D04D9B7F445C85562ED3DE53E7C5"
|
||||
| .appearance.components.order.sidebar = ["plugin_webcamSB", "plugin_firmware_check", "connection", "state", "files"]
|
||||
| .taborder._config_version = 5
|
||||
| .serial.abortHeatupOnCancel = false
|
||||
| .serial.disconnectOnErrors = false
|
||||
| .serial.additionalPorts = [$octo_printer_port]
|
||||
| .serial.baudrate = 250000
|
||||
| .serial.port = $octo_printer_port
|
||||
| .serial.timeout.communication = 40
|
||||
| .serial.timeout.temperature = 9.0
|
||||
| .serial.timeout.temperatureAutoreport = 3.0
|
||||
| .serial.timeout.temperatureTargetSet = 6.0
|
||||
| .serial.unknownCommandsNeedAck = true
|
||||
| .plugins.bedlevelvisualizer._config_version = 1
|
||||
| .plugins.discovery.upnpUuid = "cc2474ef-915e-4501-964c-974a5fc35d10"
|
||||
| .plugins.errortracking.unique_id = "1c9ba54f-8476-423c-8d32-6dd5eb2dbd2f"
|
||||
| .plugins.filamentmanager._config_version = 1
|
||||
| .plugins.filamentmanager.database.clientID = "d653b9a0-4797-11eb-951e-0242ac120002"
|
||||
| .plugins.gcodeviewer._config_version = 1
|
||||
| .plugins.klipper._config_version = 2
|
||||
| .plugins.klipper.configuration.configpath = $printer_cfg_path
|
||||
| .plugins.klipper.configuration.logpath = $klipper_log
|
||||
| .plugins.klipper.connection.port = $klipper_port
|
||||
| .plugins.octolapse._config_version = 3
|
||||
| .plugins.tracking.enabled = false
|
||||
| .plugins.tracking.enabled = false
|
||||
| .plugins.tracking.unique_id = "cf1c3dd5-885a-4a4e-95a1-25953910fea2"
|
||||
| .plugins.softwareupdate._config_version = 8
|
||||
| .plugins.taborder._config_version = 5
|
||||
| .plugins.virtual_printer._config_version = 1
|
||||
| .server.firstRun = false
|
||||
| .server.commands.serverRestartCommand = "/opt/octoprint/bin/restart.sh"
|
||||
| .server.commands.systemRestartCommand = "/opt/octoprint/bin/reboot.sh"
|
||||
| .server.commands.systemShutdownCommand = "/opt/octoprint/bin/poweroff.sh"
|
||||
| .server.onlineCheck.enabled = true
|
||||
| .server.onlineCheck.host = "94.247.43.254"
|
||||
| .server.pluginBlacklist.enabled = true
|
||||
| .server.secretKey = "Y9E11QoxP64cfgcqsiOYm5Bc8djGUD9p"
|
||||
| .server.seenWizards.backup = null
|
||||
| .server.seenWizards.corewizard = 3
|
||||
| .server.seenWizards.tracking = null ' \
|
||||
etc/config.yaml > ${BaseDir}/config.yaml
|
||||
# cp etc/config.yaml ${BaseDir}/config.yaml
|
||||
fi
|
||||
fi
|
||||
|
||||
#| .plugins.klipper.configuration.configpath = $octo_printer/$printer_cfg \
|
||||
#| .plugins.klipper.configuration.logpath = $klipper_log \
|
||||
#| .plugins.klipper.connection.port = $klipper_port \
|
||||
#| .plugins.tracking.enabled = false \
|
||||
#| .server.firstRun = false \
|
||||
#| .server.commands.serverRestartCommand = "/opt/octoprint/bin/restart.sh" \
|
||||
#| .server.commands.systemRestartCommand = "/opt/octoprint/bin/reboot.sh" \
|
||||
#| .server.commands.systemShutdownCommand = "/opt/octoprint/bin/poweroff.sh" \
|
||||
#| .server.onlineCheck.enabled = true \
|
||||
#| .server.onlineCheck.host = "94.247.43.254" \
|
||||
#| .server.pluginBlacklist.enabled = true \
|
||||
#| .server.seenWizards.backup = null \
|
||||
#| .server.seenWizards.corewizard = 3 \
|
||||
#| .server.seenWizards.tracking = null ' \
|
||||
#etc/config.yaml > ${BaseDir}/config.yaml
|
||||
|
||||
echo "*** Set permissions on $(dirname ${OCTO_PRINTER})"
|
||||
chmod 775 ${OCTO_PRINTER}
|
||||
|
||||
echo "*** Starting socat"
|
||||
socat pty,raw,echo=0,wait-slave,link=${OCTO_PRINTER}/printer,user=root,mode=777,ignoreeof ${SOCAT_TYPE}:${SOCAT_HOST}:${SOCAT_PORT} ${SOCAT_DEBUG} &
|
||||
|
||||
echo "*** Starting octoprint"
|
||||
exec /opt/octoprint/OctoPrint/venv/bin/octoprint --basedir ${BaseDir} serve --iknowwhatimdoing
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
# Check for certificates and start haproxy
|
||||
set -x
|
||||
BaseDir=/opt/octoprint/data/octoprint
|
||||
|
||||
if [ ! -f ${BaseDir}/config.yaml ]; then
|
||||
if [[ "${WITH_KLIPPER}" == "yes" ]]; then
|
||||
echo "*** Copying initial config file and enabling klipper"
|
||||
mkdir -p ${BaseDir}
|
||||
yq -Y ' .serial.abortHeatupOnCancel = false | .serial.disconnectOnErrors = false | .serial.additionalPorts = [env.OCTO_PRINTER] | .serial.baudrate = 250000 | .serial.port = $octo_printer | .serial.timeout.communication = 40 | .serial.timeout.temperature = 9.0 | .serial.timeout.temperatureAutoreport = 3.0 | .serial.timeout.temperatureTargetSet = 6.0 | .serial.unknownCommandsNeedAck = true | .plugins.klipper._config_version = 2 | .plugins.klipper.configuration.configpath = env.OCTO_PRINTER/env.PRINTER_CFG | .plugins.klipper.configuration.logpath = env.OCTO_PRINTER/klippy.log" | .plugins.klipper.connection.port = env.OCTO_PRINTER/printer" | .plugins.tracking.enabled = false | .server.firstRun = false | .server.commands.serverRestartCommand = "/opt/octoprint/bin/restart.sh" | .server.commands.systemRestartCommand = "/opt/octoprint/bin/reboot.sh" | .server.commands.systemShutdownCommand = "/opt/octoprint/bin/poweroff.sh" | .server.onlineCheck.enabled = true | .server.onlineCheck.host = "94.247.43.254" | .server.pluginBlacklist.enabled = true | .server.seenWizards.backup = null | .server.seenWizards.corewizard = 3 | .server.seenWizards.tracking = null ' etc/config.yaml > ${BaseDir}/config.yaml
|
||||
else
|
||||
echo "*** Copying initial config file"
|
||||
mkdir -p ${BaseDir}
|
||||
cp etc/config.yaml ${BaseDir}
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "*** Set permissions on $(dirname ${OCTO_PRINTER})"
|
||||
chmod 775 $(dirname ${OCTO_PRINTER})
|
||||
|
||||
echo "*** Starting octoprint"
|
||||
exec /opt/octoprint/OctoPrint/venv/bin/octoprint --basedir ${BaseDir} serve --iknowwhatimdoing
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/bash
|
||||
# Check for certificates and start haproxy
|
||||
set -x
|
||||
BaseDir=/opt/octoprint/data/octoprint
|
||||
|
||||
if [ ! -f ${BaseDir}/config.yaml ]; then
|
||||
if [[ "${WITH_KLIPPER}" == "yes" ]]; then
|
||||
echo "*** Copying initial config file and enabling klipper"
|
||||
mkdir -p ${BaseDir}
|
||||
yq -Y --arg octo_printer "${OCTO_PRINTER}" --arg printer_cfg "${PRINTER_CFG}" ' .serial.abortHeatupOnCancel = false \
|
||||
| .serial.disconnectOnErrors = false \
|
||||
| .serial.additionalPorts = [$octo_printer] \
|
||||
| .serial.baudrate = 250000 \
|
||||
| .serial.port = $octo_printer \
|
||||
| .serial.timeout.communication = 40 \
|
||||
| .serial.timeout.temperature = 9.0 \
|
||||
| .serial.timeout.temperatureAutoreport = 3.0 \
|
||||
| .serial.timeout.temperatureTargetSet = 6.0 \
|
||||
| .serial.unknownCommandsNeedAck = true \
|
||||
| .plugins.klipper._config_version = 2 \
|
||||
| .plugins.klipper.configuration.configpath = "$octo_printer/$printer_cfg" \
|
||||
| .plugins.klipper.configuration.logpath = "$octo_printer/klippy.log" \
|
||||
| .plugins.klipper.connection.port = "$octo_printer/printer" \
|
||||
| .plugins.tracking.enabled = false \
|
||||
| .server.firstRun = false \
|
||||
| .server.commands.serverRestartCommand = "/opt/octoprint/bin/restart.sh" \
|
||||
| .server.commands.systemRestartCommand = "/opt/octoprint/bin/reboot.sh" \
|
||||
| .server.commands.systemShutdownCommand = "/opt/octoprint/bin/poweroff.sh" \
|
||||
| .server.onlineCheck.enabled = true \
|
||||
| .server.onlineCheck.host = "94.247.43.254" \
|
||||
| .server.pluginBlacklist.enabled = true \
|
||||
| .server.seenWizards.backup = null \
|
||||
| .server.seenWizards.corewizard = 3 \
|
||||
| .server.seenWizards.tracking = null ' \
|
||||
etc/config.yaml > ${BaseDir}/config.yaml
|
||||
else
|
||||
echo "*** Copying initial config file"
|
||||
mkdir -p ${BaseDir}
|
||||
cp etc/config.yaml ${BaseDir}
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "*** Set permissions on $(dirname ${OCTO_PRINTER})"
|
||||
chmod 775 $(dirname ${OCTO_PRINTER})
|
||||
|
||||
echo "*** Starting octoprint"
|
||||
exec /opt/octoprint/OctoPrint/venv/bin/octoprint --basedir ${BaseDir} serve --iknowwhatimdoing
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
# Check for certificates and start haproxy
|
||||
set -x
|
||||
BaseDir=/opt/octoprint/data/octoprint
|
||||
|
||||
#if [ ! -f ${BaseDir}/config.yaml ]; then
|
||||
# if [[ "${WITH_KLIPPER}" == "yes" ]]; then
|
||||
# echo "*** Copying initial config file and enabling klipper"
|
||||
# mkdir -p ${BaseDir}
|
||||
## yq -Y --arg octo_printer "${OCTO_PRINTER}" --arg printer_cfg "${PRINTER_CFG}" --arg klipper_log "${OCTO_PRINTER}/klippy.log" --arg klipper_port "${OCTO_PRINTER}/printer" ' .serial.abortHeatupOnCancel = false | .serial.disconnectOnErrors = false | .serial.additionalPorts = [$octo_printer] | .serial.baudrate = 250000 | .serial.port = $octo_printer | .serial.timeout.communication = 40 | .serial.timeout.temperature = 9.0 | .serial.timeout.temperatureAutoreport = 3.0 | .serial.timeout.temperatureTargetSet = 6.0 | .serial.unknownCommandsNeedAck = true | .plugins.klipper._config_version = 2 ' etc/config.yaml > ${BaseDir}/config.yaml
|
||||
# fi
|
||||
#fi
|
||||
|
||||
#| .plugins.klipper.configuration.configpath = $octo_printer/$printer_cfg \
|
||||
#| .plugins.klipper.configuration.logpath = $klipper_log \
|
||||
#| .plugins.klipper.connection.port = $klipper_port \
|
||||
#| .plugins.tracking.enabled = false \
|
||||
#| .server.firstRun = false \
|
||||
#| .server.commands.serverRestartCommand = "/opt/octoprint/bin/restart.sh" \
|
||||
#| .server.commands.systemRestartCommand = "/opt/octoprint/bin/reboot.sh" \
|
||||
#| .server.commands.systemShutdownCommand = "/opt/octoprint/bin/poweroff.sh" \
|
||||
#| .server.onlineCheck.enabled = true \
|
||||
#| .server.onlineCheck.host = "94.247.43.254" \
|
||||
#| .server.pluginBlacklist.enabled = true \
|
||||
#| .server.seenWizards.backup = null \
|
||||
#| .server.seenWizards.corewizard = 3 \
|
||||
#| .server.seenWizards.tracking = null ' \
|
||||
#etc/config.yaml > ${BaseDir}/config.yaml
|
||||
|
||||
echo "*** Set permissions on $(dirname ${OCTO_PRINTER})"
|
||||
chmod 775 ${OCTO_PRINTER}
|
||||
|
||||
echo "*** Starting octoprint"
|
||||
exec /opt/octoprint/OctoPrint/venv/bin/octoprint --basedir ${BaseDir} serve --iknowwhatimdoing
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
# --build-arg OP_MACHINE_NAME="raspberrypi3" \
|
||||
# --no-cache \
|
||||
docker build \
|
||||
--progress=plain \
|
||||
--build-arg release="latest" \
|
||||
--build-arg WITH_KLIPPER="yes" \
|
||||
--build-arg OCTO_PRINTER="/octo_printer" \
|
||||
-t amedee/octoprint-octoprint \
|
||||
-t cyteen/octoprint-octoprint \
|
||||
-f Dockerfile \
|
||||
.
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -0,0 +1,33 @@
|
|||
axes:
|
||||
e:
|
||||
inverted: false
|
||||
speed: 300
|
||||
x:
|
||||
inverted: false
|
||||
speed: 6000
|
||||
y:
|
||||
inverted: false
|
||||
speed: 6000
|
||||
z:
|
||||
inverted: false
|
||||
speed: 200
|
||||
color: default
|
||||
extruder:
|
||||
count: 1
|
||||
nozzleDiameter: 0.4
|
||||
offsets:
|
||||
- - 0.0
|
||||
- 0.0
|
||||
sharedNozzle: false
|
||||
heatedBed: true
|
||||
heatedChamber: false
|
||||
id: _default
|
||||
model: Generic RepRap Printer
|
||||
name: Default
|
||||
volume:
|
||||
custom_box: false
|
||||
depth: 200.0
|
||||
formFactor: rectangular
|
||||
height: 200.0
|
||||
origin: lowerleft
|
||||
width: 200.0
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
axes:
|
||||
e:
|
||||
inverted: false
|
||||
speed: 300
|
||||
x:
|
||||
inverted: false
|
||||
speed: 6000
|
||||
y:
|
||||
inverted: false
|
||||
speed: 6000
|
||||
z:
|
||||
inverted: false
|
||||
speed: 200
|
||||
color: default
|
||||
extruder:
|
||||
count: 1
|
||||
nozzleDiameter: 0.4
|
||||
offsets:
|
||||
- - 0.0
|
||||
- 0.0
|
||||
sharedNozzle: false
|
||||
heatedBed: true
|
||||
heatedChamber: false
|
||||
id: cellar_a10
|
||||
model: Geeetech A10
|
||||
name: Geeetech_A10
|
||||
volume:
|
||||
custom_box: false
|
||||
depth: 220.0
|
||||
formFactor: rectangular
|
||||
height: 260.0
|
||||
origin: lowerleft
|
||||
width: 220.0
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
docker run -i -t \
|
||||
--rm \
|
||||
-v $(pwd)/bin:/opt/octoprint/bin \
|
||||
-v $(pwd)/printerProfiles:/opt/octoprint/data/octoprint/printerProfiles \
|
||||
-v octoklipper_vol:/octo_printer \
|
||||
-v octoprint_vol://opt/octoprint/data \
|
||||
cyteen/octoprint-octoprint \
|
||||
/bin/bash
|
||||
#python3 /home/klippy/klipper/klippy/klippy.py /home/klippy/.config/klipper/printer/printer.cfg -l /tmp/klippy.log -I /octo_printer
|
||||
|
||||
#docker run -i -t \
|
||||
# --rm \
|
||||
# -v $(pwd)/klipper_cfg:/home/klippy/.config/klipper \
|
||||
# -v octoklipper_vol:/octo_printer \
|
||||
# 884b3944402a \
|
||||
# /bin/bash
|
||||
# #python3 /home/klippy/klipper/klippy/klippy.py /home/klippy/.config/klipper/printer/printer.cfg -l /tmp/klippy.log -I /octo_printer
|
||||
|
||||
#/bin/bash
|
||||
#-v klipper_vol:${HOME}/.config \
|
||||
#-v octoklipper_vol:/octo_printer \
|
||||
|
||||
Loading…
Reference in New Issue