10:10 Sunday 09 June 2019 JST
I am finding Vultr easier to use than Linode, though I have enjoyed using Linode in the past and do not have a track record with Vultr yet.
Vultr allows me to easily create startup scripts; I see them in Linode, but the click click GUI UX is not as easy for me.
Here is my script to set up swap space, create a passwordless sudoer user, and it can just about set up Urbit as well. I am going to test it now.
#!/bin/sh
# create swapspace
apt update -y
apt upgrade -y
swapon --show
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
nano /etc/fstab
swapon --show
touch ~/000_created_swap
apt install emacs -y
touch ~/010_installed_emacs
# Install Urbit
apt install g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev make openssl pkg-config python python3 -y
touch ~/020_install_python3
pip3 install --upgrade pip
pip3 install meson
touch ~/030_installed_meson
git clone https://github.com/urbit/urbit
cd urbit
./scripts/bootstrap
./scripts/build
ninja -C ./build/ install
# end install urbit
touch ~/040_installed_urbit
# create thunderrabbit user
adduser --disabled-password --shell /bin/bash --gecos "Wan Bus" thunderrabbit
touch ~/050_created_thunderrabbit
# allow thunderrabbit sudo access
usermod -aG sudo thunderrabbit
echo "" >> /etc/sudoers
echo "# allow thunderrabbit passwordless sudo" >> /etc/sudoers
echo "thunderrabbit ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhh1ULPA9zmSKNhK8+rqw9vIRZjLngHiNnwH7jV0fXwTYfTzIW22g4db0b52FZ5voAwSSET907qE2KomMuzmHtqGs9HjOuw+dNJy4+sgsCiDuQAo56Au413+FD5RrJOP29dL39Coh1N74wJTZ+TlUR8aDRK28JN9um8zZwEpTzShPDLR1PIzovN4Z9MUfM6gcDMzRZcHaHoDD3yIhWGMAXJ/QtWVHre4mLIx0nP30VUXhTncGNuwlKgMJSkggM2w7OfPLDLy2PLmrr9sPpt4okK8y+C1ZtNIW99YFbG7uGFPvPntQ3jNrpp34pds4TgjrYJ+CtEssqF50DDn/KZ98PUvP+mH37bUWwVbfu522xIC39D9ctbmBQVBpqsJjuCc5XB5Lv/2rb52LwDuulzJ50YhjYJyGr8zU2n9Vta2WUpBt6veDZ4VrUyu9lTrD18i6FyXkj0wZTEzkf/oOtoMuiqE6/V9wsDr6LJ1u10qv1120YvFA/svUSpn7JQ05CH5wbFHL+0Pby3+oFmRZ6zXlNoNYN+JGXQmIOP/Sq5R/dxBBS6sh3BZ8K1c9KjkapSfKB+lMNZ2nFGqPqcylKy2M9r1k47sdMWF1UHWhB47HVUJfLQPrQwrkmnr+X5PEs5WZQyxwjZwWacYCUQ09shdWuW/Uzlhl1unpd9YFNleSmWQ== thunderrabbit@elpasokon" >> /home/thunderrabbit/authorized_keys
chown thunderrabbit: /home/thunderrabbit/authorized_keys
chmod 600 /home/thunderrabbit/authorized_keys
echo "#!/bin/sh
cd ~
git clone https://github.com/thunderrabbit/new-DH-user-account.git
cd new-DH-user-account
./setup.sh
echo now removing go.sh since its job is done
rm ~/go.sh
echo now log off and see if you can log on as thunderrabbit without password" >> /home/thunderrabbit/go.sh
chmod 755 /home/thunderrabbit/go.sh
chown thunderrabbit: /home/thunderrabbit/go.sh
touch ~/060_created_gosh
echo "#!/bin/sh
python3-pip python3-setuptools zlib1g-dev ninja-build
sudo -H pip3 install --upgrade pip
sudo -H pip3 install meson
git clone https://github.com/urbit/urbit
cd urbit
./scripts/bootstrap
./scripts/build
sudo ninja -C ./build/ install" >> /home/thunderrabbit/urbit.sh
chmod 755 /home/thunderrabbit/urbit.sh
chown thunderrabbit: /home/thunderrabbit/urbit.sh
touch ~/070_created_urbit.sh
touch ~/999_done_script