install_klipper.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. function error {
  3. echo -e "\\e[91m$1\\e[39m"
  4. exit 1
  5. }
  6. function check_internet() {
  7. printf "Checking if you are online..."
  8. wget -q --spider http://github.com
  9. if [ $? -eq 0 ]; then
  10. echo "Online. Continuing."
  11. else
  12. error "Offline. Go connect to the internet then run the script again."
  13. fi
  14. }
  15. check_internet
  16. echo "Creating directories..."
  17. sudo mkdir -p /portainer/Files/AppData/Config/klipper/klipper/ || error "Failed to create data directory for klipper / klipper!"
  18. sudo mkdir -p /portainer/Files/AppData/Config/klipper/klipper/logs || error "Failed to create data directory for klipper / klipper!"
  19. sudo mkdir -p /portainer/Files/AppData/Config/klipper/moonraker/ || error "Failed to create data directory for klipper / moonraker!"
  20. sudo mkdir -p /portainer/Files/AppData/Config/klipper/moonraker/logs || error "Failed to create data directory for klipper / moonraker!"
  21. sudo mkdir -p /portainer/Files/AppData/Config/klipper/run/ || error "Failed to create data directory for klipper / run!"
  22. sudo mkdir -p /portainer/Files/AppData/Config/klipper/gcodes/ || error "Failed to create data directory for klipper / gcodes!"
  23. echo "Checking config file setup..."
  24. if [ -d /portainer/Files/AppData/Config/klipper/klipper/printer.cfg ];
  25. then
  26. echo "/portainer/Files/AppData/Config/klipper/klipper/printer.cfg is a directory removing"
  27. rm -rf '/portainer/Files/AppData/Config/klipper/klipper/printer.cfg'
  28. fi
  29. sudo touch /portainer/Files/AppData/Config/klipper/klipper/printer.cfg || error "Failed to touch printer.cfg file!"
  30. if [ -d /portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf ];
  31. then
  32. echo "/portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf is a directory removing"
  33. rm -rf '/portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf'
  34. fi
  35. sudo touch /portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf || error "Failed to touch moonraker.conf file!"
  36. if [ -d /portainer/Files/AppData/Config/klipper/mainsail/config.json ];
  37. then
  38. echo "/portainer/Files/AppData/Config/klipper/mainsail/config.json is a directory removing"
  39. rm -rf '/portainer/Files/AppData/Config/klipper/mainsail/config.json'
  40. fi
  41. if [ ! -f /portainer/Files/AppData/Config/klipper/mainsail/config.json ];
  42. then
  43. sudo wget -O /portainer/Files/AppData/Config/klipper/mainsail/config.json https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/configs/klipper/mainsail.json || error "Failed to download mainsail config file!"
  44. fi
  45. echo "Setting permissions..."
  46. sudo chown -R 1000:1000 /portainer/Files/AppData/Config/klipper/ || error "Failed to set permissions for klipper data!"
  47. echo "Done You are ready to goto next step."