-
Notifications
You must be signed in to change notification settings - Fork 0
/
gcloud-startup-script.sh
56 lines (44 loc) · 2.3 KB
/
gcloud-startup-script.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#! /bin/bash
LOGIN_USER=othello-zero
STARTUP_SUCCESS_FILE=/home/$LOGIN_USER/.ran-startup-script
if test ! -f "$STARTUP_SUCCESS_FILE"; then
echo "$STARTUP_SUCCESS_FILE does not exist. running startup..."
# add user
sudo useradd -m $LOGIN_USER
# no more 'sudo docker' after this
sudo groupadd docker
sudo usermod -aG docker $LOGIN_USER
newgrp docker
# make sure docker-credential-gcloud is in PATH
# https://stackoverflow.com/questions/54494386/gcloud-auth-configure-docker-on-gcp-vm-instance-with-ubuntu-not-setup-properly
sudo ln -s /snap/google-cloud-sdk/current/bin/docker-credential-gcloud /usr/local/bin
# make gcloud docker's credential helper
sudo -u $LOGIN_USER bash -c 'gcloud auth configure-docker --quiet'
# host machine requires nvidia drivers. tensorflow image should contain the rest required
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update && sudo apt-get install -y cuda-drivers
# install docker
sudo apt-get update && apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# install nvidia docker support
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
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
docker pull igorxp5/othello-zero
# create file which will be checked on next reboot
touch /home/$LOGIN_USER/.ran-startup-script
else
echo "$STARTUP_SUCCESS_FILE exists. not running startup script!"
fi