homepage-install.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/usr/bin/env bash
  2. # Copyright (c) 2021-2023 tteck
  3. # Author: tteck (tteckster)
  4. # License: MIT
  5. # https://github.com/tteck/Proxmox/raw/main/LICENSE
  6. source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
  7. color
  8. verb_ip6
  9. catch_errors
  10. setting_up_container
  11. network_check
  12. update_os
  13. msg_info "Installing Dependencies"
  14. $STD apt-get install -y curl
  15. $STD apt-get install -y sudo
  16. $STD apt-get install -y mc
  17. $STD apt-get install -y git
  18. msg_ok "Installed Dependencies"
  19. msg_info "Setting up Node.js Repository"
  20. $STD bash <(curl -fsSL https://deb.nodesource.com/setup_16.x)
  21. msg_ok "Set up Node.js Repository"
  22. msg_info "Installing Node.js"
  23. $STD apt-get install -y nodejs
  24. $STD npm install -g pnpm
  25. msg_ok "Installed Node.js"
  26. msg_info "Installing Homepage (Patience)"
  27. cd /opt
  28. $STD git clone https://github.com/benphelps/homepage.git
  29. cd /opt/homepage
  30. mkdir -p config
  31. cp /opt/homepage/src/skeleton/* /opt/homepage/config
  32. $STD pnpm install
  33. $STD pnpm build
  34. msg_ok "Installed Homepage"
  35. msg_info "Creating Service"
  36. service_path="/etc/systemd/system/homepage.service"
  37. echo "[Unit]
  38. Description=Homepage
  39. After=network.target
  40. StartLimitIntervalSec=0
  41. [Service]
  42. Type=simple
  43. Restart=always
  44. RestartSec=1
  45. User=root
  46. WorkingDirectory=/opt/homepage/
  47. ExecStart=pnpm start
  48. [Install]
  49. WantedBy=multi-user.target" >$service_path
  50. $STD systemctl enable --now homepage
  51. msg_ok "Created Service"
  52. motd_ssh
  53. customize
  54. msg_info "Cleaning up"
  55. $STD apt-get autoremove
  56. $STD apt-get autoclean
  57. msg_ok "Cleaned"