Public repo to distribute scripts and config's
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.9 KiB

  1. #!/bin/bash
  2. update_system() {
  3. echo "Updating system and installing mandatory tools"
  4. apt-get update
  5. apt-get install sudo nmon tmux tcpdump nano iputils-ping net-tools -y
  6. }
  7. install_docker() {
  8. echo "Installing Docker"
  9. apt-get install ca-certificates curl gnupg lsb-release -y
  10. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  11. echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
  12. apt-get update
  13. apt-get install docker-ce docker-ce-cli containerd.io -y
  14. systemctl start docker
  15. echo "Docker installation completed"
  16. }
  17. install_caddy() {
  18. echo "Installing Caddy"
  19. apt-get install -y debian-keyring debian-archive-keyring apt-transport-https
  20. curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | tee /etc/apt/trusted.gpg.d/caddy-stable.asc
  21. curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
  22. apt-get update
  23. apt-get install caddy -y
  24. echo "Caddy installation completed."
  25. }
  26. setup_tf_users() {
  27. echo "Setting up TFUsers"
  28. wget https://docs.grid.tf/threefold_public/public/raw/branch/master/add-tf-users.sh
  29. sh add-tf-users.sh
  30. rm add-tf-users.sh
  31. }
  32. configure_ssh() {
  33. echo "Configuring SSH"
  34. wget https://docs.grid.tf/threefold_public/public/raw/branch/master/sshd_config
  35. mv sshd_config /etc/ssh/
  36. systemctl restart ssh
  37. }
  38. update_system
  39. setup_tf_users
  40. configure_ssh
  41. while getopts ":dc" opt; do
  42. case ${opt} in
  43. d )
  44. install_docker
  45. ;;
  46. c )
  47. install_caddy
  48. ;;
  49. \? )
  50. echo "Invalid option: $OPTARG" 1>&2
  51. ;;
  52. esac
  53. done
  54. shift $((OPTIND -1))
  55. echo "Preping VM Completed."