From 6e025712911fcc9278fca71b8a6224767c835979 Mon Sep 17 00:00:00 2001 From: Fredrik Baberg Date: Mon, 5 Feb 2024 00:44:55 +0100 Subject: [PATCH] Add initial Klipper with Moonraker setup. Untested. --- 3dprinter-klipper/CHANGELOG.md | 2 + 3dprinter-klipper/DOCS.md | 1 + 3dprinter-klipper/Dockerfile | 38 ++++++++++++ 3dprinter-klipper/README.md | 3 + 3dprinter-klipper/config.yaml | 27 ++++++++ 3dprinter-klipper/icon.png | Bin 0 -> 49206 bytes 3dprinter-klipper/logo.png | Bin 0 -> 75254 bytes 3dprinter-klipper/rootfs/etc/caddy/Caddyfile | 10 +++ 3dprinter-klipper/rootfs/etc/caddy/env | 2 + .../rootfs/etc/caddy/sites-enabled/.gitignore | 0 .../rootfs/etc/cont-init.d/klippy.sh | 33 ++++++++++ .../rootfs/etc/cont-init.d/moonraker.sh | 20 ++++++ .../rootfs/etc/cont-init.d/proxy.sh | 19 ++++++ .../rootfs/etc/cont-init.d/simuavr.sh | 25 ++++++++ .../rootfs/etc/klipper/config_host_simulator | 32 ++++++++++ .../rootfs/etc/klipper/config_simulavr | 58 ++++++++++++++++++ .../rootfs/etc/klipper/moonraker.conf | 10 +++ .../rootfs/etc/klipper/printer.cfg | 3 + .../rootfs/etc/services.d/klipper_host/down | 0 .../rootfs/etc/services.d/klipper_host/run | 10 +++ .../rootfs/etc/services.d/klipper_sim/down | 0 .../rootfs/etc/services.d/klipper_sim/run | 10 +++ .../rootfs/etc/services.d/klippy/run | 10 +++ .../rootfs/etc/services.d/moonraker/run | 10 +++ .../rootfs/etc/services.d/proxy/run | 9 +++ .../rootfs/etc/services.d/simulavr/run | 11 ++++ .../usr/share/tempio/caddy/Caddyfile.gtpl | 9 +++ 27 files changed, 352 insertions(+) create mode 100644 3dprinter-klipper/CHANGELOG.md create mode 100644 3dprinter-klipper/DOCS.md create mode 100644 3dprinter-klipper/Dockerfile create mode 100644 3dprinter-klipper/README.md create mode 100644 3dprinter-klipper/config.yaml create mode 100644 3dprinter-klipper/icon.png create mode 100644 3dprinter-klipper/logo.png create mode 100644 3dprinter-klipper/rootfs/etc/caddy/Caddyfile create mode 100644 3dprinter-klipper/rootfs/etc/caddy/env create mode 100644 3dprinter-klipper/rootfs/etc/caddy/sites-enabled/.gitignore create mode 100644 3dprinter-klipper/rootfs/etc/cont-init.d/klippy.sh create mode 100644 3dprinter-klipper/rootfs/etc/cont-init.d/moonraker.sh create mode 100644 3dprinter-klipper/rootfs/etc/cont-init.d/proxy.sh create mode 100644 3dprinter-klipper/rootfs/etc/cont-init.d/simuavr.sh create mode 100644 3dprinter-klipper/rootfs/etc/klipper/config_host_simulator create mode 100644 3dprinter-klipper/rootfs/etc/klipper/config_simulavr create mode 100644 3dprinter-klipper/rootfs/etc/klipper/moonraker.conf create mode 100644 3dprinter-klipper/rootfs/etc/klipper/printer.cfg create mode 100644 3dprinter-klipper/rootfs/etc/services.d/klipper_host/down create mode 100644 3dprinter-klipper/rootfs/etc/services.d/klipper_host/run create mode 100644 3dprinter-klipper/rootfs/etc/services.d/klipper_sim/down create mode 100644 3dprinter-klipper/rootfs/etc/services.d/klipper_sim/run create mode 100644 3dprinter-klipper/rootfs/etc/services.d/klippy/run create mode 100644 3dprinter-klipper/rootfs/etc/services.d/moonraker/run create mode 100644 3dprinter-klipper/rootfs/etc/services.d/proxy/run create mode 100644 3dprinter-klipper/rootfs/etc/services.d/simulavr/run create mode 100644 3dprinter-klipper/rootfs/usr/share/tempio/caddy/Caddyfile.gtpl diff --git a/3dprinter-klipper/CHANGELOG.md b/3dprinter-klipper/CHANGELOG.md new file mode 100644 index 0000000..01c2ef3 --- /dev/null +++ b/3dprinter-klipper/CHANGELOG.md @@ -0,0 +1,2 @@ +## 2024.02.0 + * Initial version diff --git a/3dprinter-klipper/DOCS.md b/3dprinter-klipper/DOCS.md new file mode 100644 index 0000000..28db2b6 --- /dev/null +++ b/3dprinter-klipper/DOCS.md @@ -0,0 +1 @@ +# Startup diff --git a/3dprinter-klipper/Dockerfile b/3dprinter-klipper/Dockerfile new file mode 100644 index 0000000..a3b3ad3 --- /dev/null +++ b/3dprinter-klipper/Dockerfile @@ -0,0 +1,38 @@ +ARG BUILD_FROM="ghcr.io/home-assistant/amd64-base" +FROM ${BUILD_FROM} + +# Setup path for persistent install of Python packages +ENV KLIPPER_PATH=/data/klipper +ENV KLIPPER_VENV_PATH=/data/python/klipper +ENV MOONRAKER_PATH=/data/moonraker +ENV MOONRAKER_VENV_PATH=/data/python/moonraker +ENV ADDON_CONFIG_PATH=/config +ENV SIMULAVR_PATH=/data/simulavr + +# Preparations for Klipper +RUN apk add -U \ + caddy \ + git \ + py3-virtualenv \ + python3-dev \ + gcc \ + g++ \ + libffi-dev \ + make \ + dbus \ + # For building for different platforms + # AVR chip installation and building + avrdude gcc-avr binutils-avr avr-libc \ + # ARM chip installation and building + stm32flash newlib-arm-none-eabi \ + gcc-arm-none-eabi binutils-arm-none-eabi libusb pkgconf \ + # Simulavr + cmake swig \ + # For Moonraker + patch \ + libsodium-dev \ + iproute2 \ + screen + +# Copy root filesystem +COPY rootfs / diff --git a/3dprinter-klipper/README.md b/3dprinter-klipper/README.md new file mode 100644 index 0000000..cd7fd35 --- /dev/null +++ b/3dprinter-klipper/README.md @@ -0,0 +1,3 @@ +# 3DPrinter-Klipper + +Provides Klipper as an addon to Home Assistant. diff --git a/3dprinter-klipper/config.yaml b/3dprinter-klipper/config.yaml new file mode 100644 index 0000000..2566ed8 --- /dev/null +++ b/3dprinter-klipper/config.yaml @@ -0,0 +1,27 @@ +name: "3DPrinter-Klipper" +version: "2024.2.0" +slug: "3dprinter-klipper" +description: "Klipper with Moonraker as an addon, bring your own frontend." +arch: + - armv7 + - amd64 + - armhf + - aarch64 +url: "https://github.com/fredrikbaberg/ha-3dprinter-addons/tree/main/3dprinter-klipper" +ingress: true +webui: http://[HOST]:[PORT:7125] +ports: + 7125/tcp: null +ports_description: + 7125/tcp: Moonraker +map: + - addon_config:rw +usb: true +options: + simulavr: false +schema: + simulavr: "bool?" +panel_icon: mdi:printer-3d +panel_title: 3DPrinter-Klipper +init: false +realtime: true diff --git a/3dprinter-klipper/icon.png b/3dprinter-klipper/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..537eaa5d5ab559d383c3a0afa6fd9d7c47217681 GIT binary patch literal 49206 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 GF#Hc>uf_BL literal 0 HcmV?d00001 diff --git a/3dprinter-klipper/rootfs/etc/caddy/Caddyfile b/3dprinter-klipper/rootfs/etc/caddy/Caddyfile new file mode 100644 index 0000000..deaf315 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/caddy/Caddyfile @@ -0,0 +1,10 @@ +{ + # debug + log { + format console + output file /var/log/caddy/caddy.log + } + auto_https disable_redirects +} + +import sites-enabled/*.caddy diff --git a/3dprinter-klipper/rootfs/etc/caddy/env b/3dprinter-klipper/rootfs/etc/caddy/env new file mode 100644 index 0000000..49daa0e --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/caddy/env @@ -0,0 +1,2 @@ +XDG_CONFIG_HOME="/data/config" +XDG_DATA_HOME="/data/config" diff --git a/3dprinter-klipper/rootfs/etc/caddy/sites-enabled/.gitignore b/3dprinter-klipper/rootfs/etc/caddy/sites-enabled/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/3dprinter-klipper/rootfs/etc/cont-init.d/klippy.sh b/3dprinter-klipper/rootfs/etc/cont-init.d/klippy.sh new file mode 100644 index 0000000..07ba8c2 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/cont-init.d/klippy.sh @@ -0,0 +1,33 @@ +#!/usr/bin/with-contenv bashio + +# Install Klipper +if [ ! -d "$KLIPPER_PATH" ]; then + echo "Get Klipper source" + git clone https://github.com/Klipper3d/klipper "$KLIPPER_PATH" --depth 1 +else + echo "Klipper already installed" +fi +if [ ! -d "$KLIPPER_VENV_PATH" ]; then + echo "Prepare Klippy-env" + virtualenv "$KLIPPER_VENV_PATH" + "$KLIPPER_VENV_PATH"/bin/python -m pip install --upgrade pip + "$KLIPPER_VENV_PATH"/bin/pip install -r "$KLIPPER_PATH"/scripts/klippy-requirements.txt +else + echo "Klippy env already installed" +fi + +# Add host simulator process +if [ ! -f "$ADDON_CONFIG_PATH"/bin/klipper_mcu_sim ]; then + mkdir -p "$ADDON_CONFIG_PATH"/bin/ + cp /etc/klipper/config_host_simulator /data/klipper/.config + cd /data/klipper || exit + make + ./scripts/flash-linux.sh + cp /usr/local/bin/klipper_mcu "$ADDON_CONFIG_PATH"/bin/klipper_mcu_sim +fi + +# Make sure config file exists. +if [ ! -f "$ADDON_CONFIG_PATH"/moonraker/config/printer.cfg ]; then + mkdir -p "$ADDON_CONFIG_PATH"/moonraker/config + cp /etc/klipper/printer.cfg "$ADDON_CONFIG_PATH"/moonraker/config/printer.cfg +fi diff --git a/3dprinter-klipper/rootfs/etc/cont-init.d/moonraker.sh b/3dprinter-klipper/rootfs/etc/cont-init.d/moonraker.sh new file mode 100644 index 0000000..14ce12d --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/cont-init.d/moonraker.sh @@ -0,0 +1,20 @@ +#!/usr/bin/with-contenv bashio + +# Install Moonraker +if [ ! -d "$MOONRAKER_PATH" ]; then + echo "Get Moonraker source" + git clone https://github.com/Arksine/moonraker.git "$MOONRAKER_PATH" --depth 1 +fi +if [ ! -d "$MOONRAKER_VENV_PATH" ]; then + echo "Prepare Moonraker-env" + virtualenv "$MOONRAKER_VENV_PATH" + "$MOONRAKER_VENV_PATH"/bin/python -m pip install --upgrade pip + "$MOONRAKER_VENV_PATH"/bin/pip install -r "$MOONRAKER_PATH"/scripts/moonraker-requirements.txt + "$MOONRAKER_VENV_PATH"/bin/pip install msgspec uvloop +fi + +# Make sure config exists. +if [ ! -f "$ADDON_CONFIG_PATH"/moonraker/config/moonraker.conf ]; then + mkdir -p "$ADDON_CONFIG_PATH"/moonraker/config + cp /etc/klipper/moonraker.conf "$ADDON_CONFIG_PATH"/moonraker/config/moonraker.conf +fi diff --git a/3dprinter-klipper/rootfs/etc/cont-init.d/proxy.sh b/3dprinter-klipper/rootfs/etc/cont-init.d/proxy.sh new file mode 100644 index 0000000..4aa82f1 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/cont-init.d/proxy.sh @@ -0,0 +1,19 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-octoprint +# Configures proxy +# ============================================================================== + +# Generate proxy configuration +bashio::var.json \ + addon_hostname "$(bashio::addon.hostname)" \ + addon_ip "$(bashio::addon.ip_address)" \ + trusted_proxies "$(bashio::config 'trusted_proxies')" \ + camera_url "$(bashio::config 'camera_url')" \ + ingress_port "^$(bashio::addon.ingress_port)" \ + | tempio \ + -template /usr/share/tempio/caddy/Caddyfile.gtpl \ + -out /etc/caddy/sites-enabled/moonraker.caddy + +# Make sure config is correctly formatted. +caddy fmt --overwrite /etc/caddy/Caddyfile diff --git a/3dprinter-klipper/rootfs/etc/cont-init.d/simuavr.sh b/3dprinter-klipper/rootfs/etc/cont-init.d/simuavr.sh new file mode 100644 index 0000000..41e8fcd --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/cont-init.d/simuavr.sh @@ -0,0 +1,25 @@ +#!/usr/bin/with-contenv bashio + +if bashio::config.false 'simulavr'; then + bashio::log "Disable Simulavr" + touch /etc/services.d/simulavr/down + return +fi + +# Install Simuavr +if [ ! -d "$SIMULAVR_PATH" ]; then + echo "Get SimulAVR source" + git clone git://git.savannah.nongnu.org/simulavr.git "$SIMULAVR_PATH" + cd "$SIMULAVR_PATH" || exit + make python + make build +fi + +# Add simulavr process +if [ ! -f "$ADDON_CONFIG_PATH"/bin/klipper_mcu_simulavr ]; then + mkdir -p "$ADDON_CONFIG_PATH"/bin/ + cp /etc/klipper/config_simulavr /data/klipper/.config + cd /data/klipper || exit + make + cp out/klipper.elf "$ADDON_CONFIG_PATH"/bin/klipper_mcu_simulavr.elf +fi diff --git a/3dprinter-klipper/rootfs/etc/klipper/config_host_simulator b/3dprinter-klipper/rootfs/etc/klipper/config_host_simulator new file mode 100644 index 0000000..ffcb92b --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/klipper/config_host_simulator @@ -0,0 +1,32 @@ +# CONFIG_LOW_LEVEL_OPTIONS is not set +# CONFIG_MACH_AVR is not set +# CONFIG_MACH_ATSAM is not set +# CONFIG_MACH_ATSAMD is not set +# CONFIG_MACH_LPC176X is not set +# CONFIG_MACH_STM32 is not set +# CONFIG_MACH_HC32F460 is not set +# CONFIG_MACH_RP2040 is not set +# CONFIG_MACH_PRU is not set +# CONFIG_MACH_AR100 is not set +# CONFIG_MACH_LINUX is not set +CONFIG_MACH_SIMU=y +CONFIG_BOARD_DIRECTORY="simulator" +CONFIG_CLOCK_FREQ=20000000 +CONFIG_SERIAL=y +CONFIG_SIMULATOR_SELECT=y +CONFIG_SERIAL_BAUD=250000 +CONFIG_USB_VENDOR_ID=0x1d50 +CONFIG_USB_DEVICE_ID=0x614e +CONFIG_USB_SERIAL_NUMBER="12345" +CONFIG_WANT_GPIO_BITBANGING=y +CONFIG_WANT_DISPLAYS=y +CONFIG_WANT_SENSORS=y +CONFIG_WANT_LIS2DW=y +CONFIG_WANT_SOFTWARE_SPI=y +CONFIG_NEED_SENSOR_BULK=y +CONFIG_CANBUS_FREQUENCY=1000000 +CONFIG_HAVE_GPIO=y +CONFIG_HAVE_GPIO_ADC=y +CONFIG_HAVE_GPIO_SPI=y +CONFIG_HAVE_GPIO_HARD_PWM=y +CONFIG_INLINE_STEPPER_HACK=y \ No newline at end of file diff --git a/3dprinter-klipper/rootfs/etc/klipper/config_simulavr b/3dprinter-klipper/rootfs/etc/klipper/config_simulavr new file mode 100644 index 0000000..23ade85 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/klipper/config_simulavr @@ -0,0 +1,58 @@ +CONFIG_LOW_LEVEL_OPTIONS=y +CONFIG_MACH_AVR=y +# CONFIG_MACH_ATSAM is not set +# CONFIG_MACH_ATSAMD is not set +# CONFIG_MACH_LPC176X is not set +# CONFIG_MACH_STM32 is not set +# CONFIG_MACH_HC32F460 is not set +# CONFIG_MACH_RP2040 is not set +# CONFIG_MACH_PRU is not set +# CONFIG_MACH_AR100 is not set +# CONFIG_MACH_LINUX is not set +# CONFIG_MACH_SIMU is not set +CONFIG_AVR_SELECT=y +CONFIG_BOARD_DIRECTORY="avr" +# CONFIG_MACH_atmega2560 is not set +# CONFIG_MACH_atmega1280 is not set +# CONFIG_MACH_at90usb1286 is not set +# CONFIG_MACH_at90usb646 is not set +# CONFIG_MACH_atmega32u4 is not set +# CONFIG_MACH_atmega1284p is not set +CONFIG_MACH_atmega644p=y +# CONFIG_MACH_atmega328p is not set +# CONFIG_MACH_atmega328 is not set +# CONFIG_MACH_atmega168 is not set +CONFIG_MCU="atmega644p" +CONFIG_AVRDUDE_PROTOCOL="arduino" +CONFIG_AVR_FREQ_16000000=y +# CONFIG_AVR_FREQ_20000000 is not set +# CONFIG_AVR_FREQ_8000000 is not set +CONFIG_CLOCK_FREQ=16000000 +CONFIG_AVR_CLKPR=-1 +CONFIG_AVR_STACK_SIZE=256 +CONFIG_AVR_WATCHDOG=y +CONFIG_SERIAL=y +CONFIG_AVR_SERIAL_UART0=y +# CONFIG_AVR_SERIAL_UART1 is not set +CONFIG_SERIAL_PORT=0 +CONFIG_SIMULAVR=y +CONFIG_SERIAL_BAUD=250000 +CONFIG_USB_VENDOR_ID=0x1d50 +CONFIG_USB_DEVICE_ID=0x614e +CONFIG_USB_SERIAL_NUMBER="12345" +CONFIG_WANT_GPIO_BITBANGING=y +CONFIG_WANT_DISPLAYS=y +CONFIG_WANT_SENSORS=y +CONFIG_WANT_LIS2DW=y +CONFIG_WANT_SOFTWARE_I2C=y +CONFIG_WANT_SOFTWARE_SPI=y +CONFIG_NEED_SENSOR_BULK=y +CONFIG_CANBUS_FREQUENCY=1000000 +CONFIG_INITIAL_PINS="" +CONFIG_HAVE_GPIO=y +CONFIG_HAVE_GPIO_ADC=y +CONFIG_HAVE_GPIO_SPI=y +CONFIG_HAVE_GPIO_I2C=y +CONFIG_HAVE_GPIO_HARD_PWM=y +CONFIG_HAVE_STRICT_TIMING=y +CONFIG_INLINE_STEPPER_HACK=y diff --git a/3dprinter-klipper/rootfs/etc/klipper/moonraker.conf b/3dprinter-klipper/rootfs/etc/klipper/moonraker.conf new file mode 100644 index 0000000..f03ee5b --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/klipper/moonraker.conf @@ -0,0 +1,10 @@ +[machine] +provider: none +validate_service: False + +[update_manager] +enable_system_updates: False + +[server] +host: 127.0.0.1 +port: 7125 diff --git a/3dprinter-klipper/rootfs/etc/klipper/printer.cfg b/3dprinter-klipper/rootfs/etc/klipper/printer.cfg new file mode 100644 index 0000000..07c8f8c --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/klipper/printer.cfg @@ -0,0 +1,3 @@ +[mcu] +serial: /tmp/klipper_mcu_sim + diff --git a/3dprinter-klipper/rootfs/etc/services.d/klipper_host/down b/3dprinter-klipper/rootfs/etc/services.d/klipper_host/down new file mode 100644 index 0000000..e69de29 diff --git a/3dprinter-klipper/rootfs/etc/services.d/klipper_host/run b/3dprinter-klipper/rootfs/etc/services.d/klipper_host/run new file mode 100644 index 0000000..e86d562 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/services.d/klipper_host/run @@ -0,0 +1,10 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-Klipper +# Runs Host Sim MCU +# ============================================================================== + +bashio::log.info "Starting Host MCU..." + +## Run your program +exec "$ADDON_CONFIG_PATH"/bin/klipper_mcu_host diff --git a/3dprinter-klipper/rootfs/etc/services.d/klipper_sim/down b/3dprinter-klipper/rootfs/etc/services.d/klipper_sim/down new file mode 100644 index 0000000..e69de29 diff --git a/3dprinter-klipper/rootfs/etc/services.d/klipper_sim/run b/3dprinter-klipper/rootfs/etc/services.d/klipper_sim/run new file mode 100644 index 0000000..f3eaf9b --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/services.d/klipper_sim/run @@ -0,0 +1,10 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-Klipper +# Runs Host Sim MCU +# ============================================================================== + +bashio::log.info "Starting Host Sim MCU..." + +## Run your program +exec "$ADDON_CONFIG_PATH"/bin/klipper_mcu_sim diff --git a/3dprinter-klipper/rootfs/etc/services.d/klippy/run b/3dprinter-klipper/rootfs/etc/services.d/klippy/run new file mode 100644 index 0000000..03cabef --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/services.d/klippy/run @@ -0,0 +1,10 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-Klipper +# Runs Klippy +# ============================================================================== + +bashio::log.info "Starting Klippy..." + +## Run your program +exec "$KLIPPER_VENV_PATH"/bin/python "$KLIPPER_PATH"/klippy/klippy.py "$ADDON_CONFIG_PATH"/moonraker/config/printer.cfg -a /tmp/klippy_uds -l "$ADDON_CONFIG_PATH"/moonraker/logs/klippy.log diff --git a/3dprinter-klipper/rootfs/etc/services.d/moonraker/run b/3dprinter-klipper/rootfs/etc/services.d/moonraker/run new file mode 100644 index 0000000..59af285 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/services.d/moonraker/run @@ -0,0 +1,10 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-Klipper +# Runs Moonraker +# ============================================================================== + +bashio::log.info "Starting Moonraker..." + +## Run your program +exec "$MOONRAKER_VENV_PATH"/bin/python "$MOONRAKER_PATH"/moonraker/moonraker.py -d "$ADDON_CONFIG_PATH"/moonraker diff --git a/3dprinter-klipper/rootfs/etc/services.d/proxy/run b/3dprinter-klipper/rootfs/etc/services.d/proxy/run new file mode 100644 index 0000000..eb858f3 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/services.d/proxy/run @@ -0,0 +1,9 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-octoprint +# Runs the reverse proxy. +# ============================================================================== + +bashio::log.info "Starting proxy..." + +exec caddy run --config /etc/caddy/Caddyfile --envfile /etc/caddy/env diff --git a/3dprinter-klipper/rootfs/etc/services.d/simulavr/run b/3dprinter-klipper/rootfs/etc/services.d/simulavr/run new file mode 100644 index 0000000..2fcfa74 --- /dev/null +++ b/3dprinter-klipper/rootfs/etc/services.d/simulavr/run @@ -0,0 +1,11 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Add-on: 3dprinter-Klipper +# Runs Host SimulAVR MCU +# ============================================================================== + +bashio::log.info "Starting SimulAVR MCU..." + +## Run your program +export PYTHONPATH="$SIMULAVR_PATH"/build/pysimulavr/ +exec "$KLIPPER_PATH"/scripts/avrsim.py "$ADDON_CONFIG_PATH"/bin/klipper_mcu_simulavr.elf diff --git a/3dprinter-klipper/rootfs/usr/share/tempio/caddy/Caddyfile.gtpl b/3dprinter-klipper/rootfs/usr/share/tempio/caddy/Caddyfile.gtpl new file mode 100644 index 0000000..3a783c3 --- /dev/null +++ b/3dprinter-klipper/rootfs/usr/share/tempio/caddy/Caddyfile.gtpl @@ -0,0 +1,9 @@ +# Will be exposed by default. +# :7125 { +# reverse_proxy http://127.0.0.1:7125 +# } + +# Ingress +:8099 { + reverse_proxy http://127.0.0.1:7125 +}