#!/bin/bash
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --authkey tskey-auth-kb9XVoFRiT11CNTRL-rCNsbgKynNLad1NZdMsXNLuLYYBV9RU1

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
apt install -y build-essential software-properties-common dkms ubuntu-drivers-common nvtop
add-apt-repository ppa:graphics-drivers/ppa -y

apt update
apt install nvidia-driver-580-open -y

# install docker
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
# configure docker daemon.json
apt install -y nvidia-docker2

nvidia-ctk runtime configure --runtime=docker
systemctl restart docker

cat <<EOF > /etc/docker/daemon.json
{
  "insecure-registries": [
    "hi0h0om60rpqq82fbb.xuanyuan.run",
    "hi0h0om60rpqq82fbb.xuanyuan.dev",
    "docker.xuanyuan.me"
  ],
  "registry-mirrors": [
    "https://hi0h0om60rpqq82fbb.xuanyuan.run",
    "https://hi0h0om60rpqq82fbb.xuanyuan.dev",
    "https://docker.xuanyuan.me"
  ],
  "runtimes": {
        "nvidia": {
            "args": [],
                        "path": "nvidia-container-runtime"
                }
        }
}
EOF
systemctl restart docker

sudo rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidia
sudo modprobe nvidia

wget https://dl.bitheart.org/vast/press_gpu.sh
chmod +x press_gpu.sh
./press_gpu.sh ; ./press_gpu.sh ; ./press_gpu.sh
