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