62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| HERE="$(dirname "$0")"
 | |
| 
 | |
| # shellcheck source=net/datacenter-node-install/utils.sh
 | |
| source "$HERE"/utils.sh
 | |
| 
 | |
| ensure_env || exit 1
 | |
| 
 | |
| if [[ -n "$1" ]]; then
 | |
|   PUBKEY_FILE="$1"
 | |
| else
 | |
|   cat <<EOF
 | |
| Usage: $0 [pubkey_file]
 | |
| 
 | |
| The pubkey_file should be the pubkey that will be set up to allow the current user
 | |
| (assumed to be the machine admin) to log in via ssh
 | |
| EOF
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| set -xe
 | |
| 
 | |
| apt update
 | |
| apt upgrade -y
 | |
| 
 | |
| cat >/etc/apt/apt.conf.d/99-solana <<'EOF'
 | |
| // Set and persist extra caps on iftop binary
 | |
| Dpkg::Post-Invoke { "which iftop 2>&1 >/dev/null && setcap cap_net_raw=eip $(which iftop) || true"; };
 | |
| EOF
 | |
| 
 | |
| apt install -y build-essential pkg-config clang cmake sysstat perf \
 | |
|   linux-generic-hwe-18.04-edge linux-tools-generic-hwe-18.04-edge \
 | |
|   iftop heaptrack
 | |
| 
 | |
| "$HERE"/../scripts/install-docker.sh
 | |
| usermod -aG docker "$SETUP_USER"
 | |
| "$HERE"/../scripts/install-certbot.sh
 | |
| "$HERE"/setup-sudoers.sh
 | |
| "$HERE"/setup-ssh.sh
 | |
| 
 | |
| # Allow admin user to log in
 | |
| BASE_SSH_DIR="${SETUP_HOME}/.ssh"
 | |
| mkdir "$BASE_SSH_DIR"
 | |
| chown "$SETUP_USER:$SETUP_USER" "$BASE_SSH_DIR"
 | |
| cat "$PUBKEY_FILE" > "${BASE_SSH_DIR}/authorized_keys"
 | |
| chown "$SETUP_USER:$SETUP_USER" "${BASE_SSH_DIR}/.ssh/authorized_keys"
 | |
| 
 | |
| "$HERE"/disable-nouveau.sh
 | |
| "$HERE"/disable-networkd-wait.sh
 | |
| "$HERE"/setup-grub.sh
 | |
| "$HERE"/../scripts/install-earlyoom.sh
 | |
| "$HERE"/../scripts/install-nodeljs.sh
 | |
| "$HERE"/../scripts/localtime.sh
 | |
| "$HERE"/../scripts/install-redis.sh
 | |
| "$HERE"/../scripts/install-rsync.sh
 | |
| "$HERE"/../scripts/install-libssl-compatability.sh
 | |
| "$HERE"/setup-procfs-knobs.sh
 | |
| "$HERE"/setup-limits.sh
 | |
| 
 | |
| echo "Please reboot then run setup-dc-node-2.sh"
 |