#!/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 || exit apt install git gcc g++ make cmake chromium-browser unclutter iptables cron -y || exit 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 <>/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" || exit echo "Updating..." git pull else echo "Cloning..." sudo git config --global credential.helper store || exit git clone "https://tobiash:!IwedwrimmVeudiweN!@git.gaminggeneration.de/tobiash/itender.git" --quiet fi cd "$DIR" || exit yarn install echo "Compiling..." yarn run compile echo "Updating Cron..." # Add line to cron echo "@reboot sudo chmod g+rw /dev/tty?" > /tmp/currentCron echo "@reboot /usr/bin/yarn run start &" >> /tmp/currentCron chown itender:itender /tmp/currentCron #install new cron file sudo -u itender 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 chown itender:itender -R /home/itender/ reboot now