octoprint.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/usr/bin/env bash
  2. source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
  3. # Copyright (c) 2021-2023 tteck
  4. # Author: tteck (tteckster)
  5. # License: MIT
  6. # https://github.com/tteck/Proxmox/raw/main/LICENSE
  7. function header_info {
  8. clear
  9. cat <<"EOF"
  10. ____ __ ____ _ __
  11. / __ \_____/ /_____ / __ \_____(_)___ / /_
  12. / / / / ___/ __/ __ \/ /_/ / ___/ / __ \/ __/
  13. / /_/ / /__/ /_/ /_/ / ____/ / / / / / / /_
  14. \____/\___/\__/\____/_/ /_/ /_/_/ /_/\__/
  15. EOF
  16. }
  17. header_info
  18. echo -e "Loading..."
  19. APP="OctoPrint"
  20. var_disk="4"
  21. var_cpu="1"
  22. var_ram="1024"
  23. var_os="debian"
  24. var_version="11"
  25. variables
  26. color
  27. catch_errors
  28. function default_settings() {
  29. CT_TYPE="0"
  30. PW=""
  31. CT_ID=$NEXTID
  32. HN=$NSAPP
  33. DISK_SIZE="$var_disk"
  34. CORE_COUNT="$var_cpu"
  35. RAM_SIZE="$var_ram"
  36. BRG="vmbr0"
  37. NET="dhcp"
  38. GATE=""
  39. DISABLEIP6="no"
  40. MTU=""
  41. SD=""
  42. NS=""
  43. MAC=""
  44. VLAN=""
  45. SSH="no"
  46. VERB="no"
  47. echo_default
  48. }
  49. function update_script() {
  50. header_info
  51. if [[ ! -d /opt/octoprint ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
  52. msg_info "Stopping OctoPrint"
  53. systemctl stop octoprint
  54. msg_ok "Stopped OctoPrint"
  55. msg_info "Updating OctoPrint"
  56. source /opt/octoprint/bin/activate
  57. pip3 install octoprint --upgrade &>/dev/null
  58. msg_ok "Updated OctoPrint"
  59. msg_info "Starting OctoPrint"
  60. systemctl start octoprint
  61. msg_ok "Started OctoPrint"
  62. msg_ok "Updated Successfully"
  63. exit
  64. }
  65. start
  66. build_container
  67. description
  68. msg_ok "Completed Successfully!\n"
  69. echo -e "${APP} should be reachable by going to the following URL.
  70. ${BL}http://${IP}:5000${CL} \n"