| @@ -1,31 +1,63 @@ | |||
| #/bin/bash | |||
| apt update | |||
| # install ops tools | |||
| apt install sudo nmon tmux tcpdump nano iputils-ping net-tools -y | |||
| # install Docker + docker-compose | |||
| apt install ca-certificates curl gnupg lsb-release -y | |||
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | |||
| 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 | |||
| apt update | |||
| apt install docker-ce docker-ce-cli containerd.io -y | |||
| systemctl start docker | |||
| #curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |||
| #chmod +x /usr/local/bin/docker-compose | |||
| # set TF users | |||
| wget https://docs.grid.tf/threefold_public/public/raw/branch/master/add-tf-users.sh | |||
| sh add-tf-users.sh | |||
| # install Caddy | |||
| #apt install -y debian-keyring debian-archive-keyring apt-transport-https | |||
| #curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | tee /etc/apt/trusted.gpg.d/caddy-stable.asc | |||
| #curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list | |||
| #curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg | |||
| #apt update | |||
| #apt install caddy -y | |||
| # set propper sshd config | |||
| wget https://docs.grid.tf/threefold_public/public/raw/branch/master/sshd_config | |||
| cp sshd_config /etc/ssh/ | |||
| systemctl restart ssh | |||
| #!/bin/bash | |||
| update_system() { | |||
| echo "Updating system and installing mandatory tools" | |||
| apt-get update | |||
| apt-get install sudo nmon tmux tcpdump nano iputils-ping net-tools -y | |||
| } | |||
| install_docker() { | |||
| echo "Installing Docker" | |||
| apt-get install ca-certificates curl gnupg lsb-release -y | |||
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | |||
| 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 | |||
| apt-get update | |||
| apt-get install docker-ce docker-ce-cli containerd.io -y | |||
| systemctl start docker | |||
| echo "Docker installation completed" | |||
| } | |||
| install_caddy() { | |||
| echo "Installing Caddy" | |||
| apt-get install -y debian-keyring debian-archive-keyring apt-transport-https | |||
| curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | tee /etc/apt/trusted.gpg.d/caddy-stable.asc | |||
| curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list | |||
| apt-get update | |||
| apt-get install caddy -y | |||
| echo "Caddy installation completed." | |||
| } | |||
| setup_tf_users() { | |||
| echo "Setting up TFUsers" | |||
| wget https://docs.grid.tf/threefold_public/public/raw/branch/master/add-tf-users.sh | |||
| sh add-tf-users.sh | |||
| rm add-tf-users.sh | |||
| } | |||
| configure_ssh() { | |||
| echo "Configuring SSH" | |||
| wget https://docs.grid.tf/threefold_public/public/raw/branch/master/sshd_config | |||
| mv sshd_config /etc/ssh/ | |||
| systemctl restart ssh | |||
| } | |||
| update_system | |||
| setup_tf_users | |||
| configure_ssh | |||
| while getopts ":dc" opt; do | |||
| case ${opt} in | |||
| d ) | |||
| install_docker | |||
| ;; | |||
| c ) | |||
| install_caddy | |||
| ;; | |||
| \? ) | |||
| echo "Invalid option: $OPTARG" 1>&2 | |||
| ;; | |||
| esac | |||
| done | |||
| shift $((OPTIND -1)) | |||
| echo "Preping VM Completed." | |||