119 lines
3.3 KiB
Bash
119 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "Please run as root!"
|
|
exit
|
|
fi
|
|
|
|
echo "Updating indexes"
|
|
apt update
|
|
|
|
echo "Installing xserver xinit openbox ufw xserver-xorg x11 unclutter make chromium-browser crontab cmake g++ gcc and git..."
|
|
apt install --no-install-recommends ufw xserver-xorg x11-xserver-utils xinit openbox -y
|
|
apt install git gcc g++ make cmake chromium-browser unclutter crontab -y
|
|
echo "Try to uninstall node and npm... (Can fail)"
|
|
apt purge node -y || true
|
|
apt purge npm -y || true
|
|
|
|
echo "Setup xserver..."
|
|
# XServer
|
|
echo "allowed_users=anybody" >/etc/X11/Xwrapper.config
|
|
#no-uncomment cp autostart.config /etc/xdg/openbox/autostart
|
|
|
|
echo "Adding apt keys..."
|
|
# Keys and stuff ---
|
|
# Nodejs
|
|
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash
|
|
|
|
# Yarn
|
|
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
|
|
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
|
|
|
# MongoDB
|
|
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
|
|
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
|
|
|
|
# End Keys and stuff ---
|
|
|
|
echo "Updating firewall..."
|
|
# Firewall
|
|
ufw allow ssh
|
|
ufw allow 3000/tcp
|
|
ufw allow 3015/tcp
|
|
ufw --force enable
|
|
|
|
echo "Updating indexes and installing mongodb and yarn..."
|
|
# Final update
|
|
apt update
|
|
apt install nodejs yarn mongodb-org -y
|
|
apt upgrade -y
|
|
|
|
echo "Activating systemctl daemons..."
|
|
systemctl daemon-reload
|
|
systemctl enable mongod
|
|
|
|
echo "Installing autostart..."
|
|
# Autostart
|
|
cat <<EOT >>/etc/xdg/openbox/autostart
|
|
xset s off
|
|
xset s noblank
|
|
xset -dpms
|
|
|
|
setxkbmap -option terminate:ctrl_alt_bksp
|
|
|
|
/home/itender/start.sh
|
|
EOT
|
|
|
|
DIR="/home/itender/itender/"
|
|
if [ -d "$DIR" ]; then
|
|
# Take action if $DIR exists. #
|
|
cd "$DIR"
|
|
echo "Updating..."
|
|
git pull
|
|
else
|
|
echo "Cloning..."
|
|
sudo git config --global credential.helper store
|
|
git clone "https://tobiash:!IwedwrimmVeudiweN!@git.gaminggeneration.de/tobiash/itender.git" --quiet
|
|
cd "$DIR"
|
|
yarn install
|
|
fi
|
|
cd "$DIR"
|
|
echo "Compiling..."
|
|
yarn run compile
|
|
|
|
echo "Updating Cron..."
|
|
# Add line to cron
|
|
echo "@reboot /usr/bin/yarn run start &" >/tmp/currentCron
|
|
#install new cron file
|
|
crontab /tmp/currentCron
|
|
|
|
echo "Backing up /boot/config.txt to /root/config.txt.bak"
|
|
cp /boot/config.txt /root/config.txt.bak
|
|
echo "Updating Boot config..."
|
|
if ! grep -w "hdmi_group=2" /boot/config.txt; then
|
|
echo "hdmi_group=2" >>/boot/config.txt
|
|
fi
|
|
if ! grep -w "hdmi_mode=87" /boot/config.txt; then
|
|
echo "hdmi_mode=87" >>/boot/config.txt
|
|
fi
|
|
if ! grep -w "hdmi_cvt 1024 600 60 0 0 0 0" /boot/config.txt; then
|
|
echo "hdmi_cvt 1024 600 60 0 0 0 0" >>/boot/config.txt
|
|
fi
|
|
if ! grep -w "hdmi_drive=1" /boot/config.txt; then
|
|
echo "hdmi_drive=1" >>/boot/config.txt
|
|
fi
|
|
if ! grep -w "disable_splash=1" /boot/config.txt; then
|
|
echo "disable_splash=1" >>/boot/config.txt
|
|
fi
|
|
|
|
echo "Setting no-logo..."
|
|
systemctl disable getty@tty3
|
|
if ! grep -w "logo.nologo" /boot/cmdline.txt; then
|
|
echo "Backing up /boot/cmdline.txt to /root/cmdline.txt.bak"
|
|
cp /boot/cmdline.txt /root/cmdline.txt.bak
|
|
sed -i '1 s_$_ logo.nologo disable\_splash=1 quiet_' /boot/cmdline.txt
|
|
#cp /tmp/cmdline.txt /boot/cmdline.txt
|
|
fi
|
|
|
|
reboot now
|