| @@ -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." | |||||