diff --git a/resources/mainsail_nginx.cfg b/resources/mainsail_nginx.cfg index aea2982..8d54ca3 100644 --- a/resources/mainsail_nginx.cfg +++ b/resources/mainsail_nginx.cfg @@ -10,7 +10,9 @@ upstream apiserver { } upstream mjpgstreamer { - server 127.0.0.1:8080; + #edit your webcam port here + ip_hash; + server 127.0.0.1:8081; } server { @@ -84,7 +86,7 @@ server { proxy_set_header X-Scheme $scheme; } - location /webcam { + location /webcam/ { proxy_pass http://mjpgstreamer/; } } \ No newline at end of file diff --git a/resources/moonraker.conf b/resources/moonraker.conf new file mode 100644 index 0000000..3fc16e1 --- /dev/null +++ b/resources/moonraker.conf @@ -0,0 +1,9 @@ +[server] +host: 0.0.0.0 +config_path: ~/klipper_config + +[authorization] +enabled: true +trusted_clients: + 127.0.0.1 + 192.168.1.0/24 \ No newline at end of file diff --git a/scripts/install_mainsail.sh b/scripts/install_mainsail.sh index 1493f1a..ec06a8f 100644 --- a/scripts/install_mainsail.sh +++ b/scripts/install_mainsail.sh @@ -1,5 +1,4 @@ mainsail_install_routine(){ - ERROR="0" #reset error state if [ -d $KLIPPER_DIR ]; then #disable octoprint service if installed if systemctl is-enabled octoprint.service -q 2>/dev/null; then @@ -8,62 +7,73 @@ mainsail_install_routine(){ disable_haproxy_lighttpd remove_haproxy_lighttpd install_moonraker - if [ "$ERROR" != "1" ]; then - check_printer_cfg - restart_moonraker - restart_klipper - create_reverse_proxy "mainsail" - test_api - test_nginx - install_mainsail - create_custom_hostname - ok_msg "Mainsail installation complete!"; echo - fi + check_printer_cfg + restart_moonraker + restart_klipper + create_reverse_proxy "mainsail" + test_api + test_nginx + install_mainsail + create_custom_hostname + ok_msg "Mainsail installation complete!"; echo else ERROR_MSG=" Please install Klipper first!\n Skipping..." fi } install_moonraker(){ - cd $KLIPPER_DIR - if [[ $(git describe --all) = "remotes/Arksine/dev-moonraker-testing" ]]; then - dep=(wget curl unzip) - dependency_check - status_msg "Downloading Moonraker ..." - cd ${HOME} && git clone $MOONRAKER_REPO - ok_msg "Download complete!" - status_msg "Installing Moonraker ..." - $MOONRAKER_DIR/scripts/install-moonraker.sh && ok_msg "Moonraker successfully installed!" - #create sdcard folder if it doesn't exists yet - if [ ! -d ${HOME}/sdcard ]; then - mkdir ${HOME}/sdcard - fi - #create a moonraker.log symlink in home-dir just for convenience - if [ ! -e ${HOME}/moonraker.log ]; then - status_msg "Creating moonraker.log symlink ..." - ln -s /tmp/moonraker.log ${HOME}/moonraker.log && ok_msg "Symlink created!" - fi + dep=(wget curl unzip) + dependency_check + status_msg "Downloading Moonraker ..." + cd ${HOME} && git clone $MOONRAKER_REPO + ok_msg "Download complete!" + backup_printer_cfg + status_msg "Installing Moonraker ..." + $MOONRAKER_DIR/scripts/install-moonraker.sh && ok_msg "Moonraker successfully installed!" + #copy basic moonraker.conf + if [ ! -e ${HOME}/moonraker.conf ]; then + status_msg "Creating moonraker.conf ..." + cp ${HOME}/kiauh/resources/moonraker.conf ${HOME} + ok_msg "moonraker.conf created!" + fi + #create sdcard folder + if [ ! -d ${HOME}/sdcard ]; then + status_msg "Creating sdcard directory ..." + mkdir ${HOME}/sdcard + ok_msg "sdcard directory created!" + fi + #create klipper_config folder + if [ ! -d ${HOME}/klipper_config ]; then + status_msg "Creating klipper_config directory ..." + mkdir ${HOME}/klipper_config + ok_msg "klipper_config directory created!" + fi + #move printer.cfg to new config location + if [ -e ${HOME}/printer.cfg ]; then + status_msg "Moving printer.cfg to its new location ..." + mv ${HOME}/printer.cfg ${HOME}/klipper_config + ok_msg "Done!" + status_msg "Create symlink in home directory ..." + ln -s ${HOME}/klipper_config/printer.cfg ${HOME} + ok_msg "Done!" else - ERROR_MSG="You are not using the Moonraker fork!\n Please switch to the Moonraker fork first! Aborting ..." - ERROR=1 + warn_msg "No printer.cfg was found!" + status_msg "Creating a default printer.cfg ..." + create_default_cfg + create_mainsail_macro_cfg + ln -s ${HOME}/klipper_config/printer.cfg ${HOME} + ok_msg "Default printer.cfg created!" + fi + #create a moonraker.log symlink in home-dir just for convenience + if [ ! -e ${HOME}/moonraker.log ]; then + status_msg "Creating moonraker.log symlink ..." + ln -s /tmp/moonraker.log ${HOME}/moonraker.log && ok_msg "Symlink created!" fi } check_printer_cfg(){ if [ -e $PRINTER_CFG ]; then check_vsdcard_section - check_api_section - else - echo; warn_msg "No printer.cfg found!" - while true; do - echo -e "${cyan}" - read -p "###### Do you want to create a default config now? (Y/n): " yn - echo -e "${default}" - case "$yn" in - Y|y|Yes|yes|"") create_default_cfg; break;; - N|n|No|no) break;; - esac - done fi } @@ -83,39 +93,19 @@ cat <> $PRINTER_CFG ########################## [virtual_sdcard] path: ~/sdcard + +[pause_resume] +[display_status] ########################## ########################## VSDCARD fi } -check_api_section(){ - status_msg "Checking for moonraker configuration ..." - # check if api server is present in printer.cfg - if [[ $(grep '^\[moonraker\]$' $PRINTER_CFG) ]]; then - ok_msg "Moonraker already configured" - else - status_msg "No Moonraker entry found." - ok_msg "Moonraker entry added to printer.cfg!" -# append the following lines to printer.cfg -cat <> $PRINTER_CFG - -########################## -### CREATED WITH KIAUH ### -########################## -[moonraker] -trusted_clients: - 192.168.0.0/24 - 192.168.1.0/24 - 127.0.0.0/24 -########################## -########################## -API - fi -} - create_default_cfg(){ -cat <> $PRINTER_CFG +#create default config +touch ${HOME}/klipper_config/printer.cfg +cat <> ${HOME}/klipper_config/printer.cfg ########################## ### CREATED WITH KIAUH ### @@ -123,14 +113,22 @@ cat <> $PRINTER_CFG [virtual_sdcard] path: ~/sdcard -[moonraker] -trusted_clients: - 192.168.0.0/24 - 192.168.1.0/24 - 127.0.0.0/24 - [pause_resume] +[display_status] +[include ~/klipper_config/mainsail_macros.cfg] +########################## +########################## +DEFAULT_CFG +} + +create_mainsail_macro_cfg(){ +#create extra mainsail macro config +touch ${HOME}/klipper_config/mainsail_macros.cfg +cat <> ${HOME}/klipper_config/mainsail_macros.cfg +########################## +### CREATED WITH KIAUH ### +########################## [gcode_macro CANCEL] default_parameter_X: 230 default_parameter_Y: 230 @@ -141,7 +139,7 @@ gcode: M141 S0 M106 S0 CLEAR_PAUSE - RESET_SD + SDCARD_RESET_FILE [gcode_macro CANCEL_PRINT] gcode: @@ -172,7 +170,7 @@ gcode: BASE_RESUME ########################## ########################## -DEFAULT_CFG +MAINSAIL_MACRO_CFG } disable_haproxy_lighttpd(){ diff --git a/scripts/remove.sh b/scripts/remove.sh index 67ffd40..bfa3c7a 100644 --- a/scripts/remove.sh +++ b/scripts/remove.sh @@ -65,6 +65,7 @@ remove_mainsail(){ $MAINSAIL_DIR $MOONRAKER_DIR $MOONRAKER_ENV_DIR + ${HOME}/moonraker.conf ${HOME}/moonraker.log ${HOME}/.klippy_api_key ${HOME}/.moonraker_api_key @@ -90,6 +91,18 @@ remove_mainsail(){ status_msg "Removing Moonraker and moonraker-env directory ..." rm -rf $MOONRAKER_DIR $MOONRAKER_ENV_DIR && ok_msg "Directories removed!" fi + #remove moonraker.conf + if [ -e ${HOME}/moonraker.conf ]; then + status_msg "Removing moonraker.conf ..." + rm -rf ${HOME}/moonraker.conf && ok_msg "File removed!" + fi + #remove printer.cfg symlink, copy printer.cfg back into home dir + if [ -L ${HOME}/printer.cfg ]; then + status_msg "Removing printer.cfg symlink ..." + rm -rf ${HOME}/printer.cfg && ok_msg "Symlink removed!" + status_msg "Copy printer.cfg back into '${HOME}' ..." + cp ${HOME}/klipper_config/printer.cfg ${HOME} && ok_msg "File copied!" + fi #remove moonraker.log and symlink if [[ -L ${HOME}/moonraker.log || -e /tmp/moonraker.log ]]; then status_msg "Removing moonraker.log and Symlink ..."