Skip to content

Instantly share code, notes, and snippets.

@kolosek
Created March 6, 2023 22:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kolosek/f35a3a02aad27a8a75fc3711401782aa to your computer and use it in GitHub Desktop.
Save kolosek/f35a3a02aad27a8a75fc3711401782aa to your computer and use it in GitHub Desktop.
#!/bin/bash
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
#Preuzimanje i instalacija dependency-a
echo "Preuzimanje i instalacija dependency-a..."
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y curl git-core gdebi-core gdebi rar unrar gnupg2 vim qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x build-essential libssl-dev libreadline-dev libyaml-dev libxslt1-dev software-properties-common libcurl4 libcurl4-openssl-dev libcurl3-dev
#Preuzimanje i instalacija VS Code-a
echo "Preuzimanje i instalacija Visual Strudio Code-a"
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y apt-transport-https
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y code # or code-insiders
#Preuzimanje i instalacija Sublime Text-a
echo "Preuzimanje i instalacija Sublime Text-a..."
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg > /dev/null
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y sublime-text
#Preuzimanje i instalacija Google Chrome-a
echo "Preuzimanje i instalacija Google Chrome-a..."
mkdir google-chrome-temp
cd google-chrome-temp
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
cd ..
rm google-chrome-temp
#Preuzimanje i instalacija pritunl klijenta
echo "Preuzimanje i instalacija Pritunl klijenta..."
sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt jammy main
EOF
sudo apt --assume-yes install gnupg
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A | sudo tee /etc/apt/trusted.gpg.d/pritunl.asc
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y pritunl-client-electron
#preuzimanje i instalacija SmartGit-a
echo "Preuzimanje i instalacija SmartGit-a..."
mkdir smartgit-temp
cd smartgit-temp
wget https://www.syntevo.com/downloads/smartgit/smartgit-21_2_4.deb
sudo dpkg -i smartgit-21_2_4.deb
sudo apt --fix-broken install
cd..
rm -rf smartgit-temp
#Instalacija imagemagick
echo "Preuzimanje i instalacija imagemagick..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y imagemagick libmagickcore-dev libmagickwand-dev
#Shortcut-ovi i skracenice
echo "Konfiguracija .bashrc..."
echo "# Bundle aliases" >> ~/.bashrc
echo "alias be='bundle exec'" >> ~/.bashrc
echo "alias bi='bundle install --path vendor/bundle'" >> ~/.bashrc
echo "# Git aliases" >> ~/.bashrc
echo "alias gc='git commit'" >> ~/.bashrc
echo "alias ga='git add'" >> ~/.bashrc
echo "alias gaa='git add --all'" >> ~/.bashrc
echo "alias gp='git push'" >> ~/.bashrc
touch ~/Templates/new
#Dodavanje redova u .bashrc da bi se ispisala trenutna git grana
echo "parse_git_branch() {" >> ~/.bashrc
echo " git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'" >> ~/.bashrc
echo "}" >> ~/.bashrc
echo 'export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "' >> ~/.bashrc
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
source ~/.bashrc
mkdir ~/projects
#Instalacija sqlite3 (sqlite3 i libsqlite3-dev su vec instalirani kao dependency)
echo "Preuzimanje i instalacija sqlite3..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y sqlite3 sqlitebrowser libsqlite3-dev
#Instalacija MySQL-a
echo "Preuzimanje i instalacija MySQL..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server libmysqlclient-dev expect mysql-client
sudo systemctl start mysql.service
sudo mysql -u root -Bse " CREATE USER 'ubuntu'@'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'ubuntu'@'localhost' WITH GRANT OPTION;FLUSH PRIVILEGES;"
#Instalacija Postgres-a
echo "Preuzimanje i instalacija Postgres..."
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && DEBIAN_FRONTEND=noninteractive apt-get update'
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq5=14.5-0ubuntu0.22.04.1
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y postgresql postgresql-contrib pgadmin4 libpq-dev
chmod 755 /home/$USER
sudo -u postgres psql -c "CREATE USER ubuntu WITH PASSWORD 'password';ALTER ROLE ubuntu SUPERUSER;"
#Preuzimanje i instalacija REDIS-a
echo "Preuzimanje i instalacija REDIS-a..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y redis-server
sudo sed -i '236s/.*/supervised systemd/' /etc/redis/redis.conf
sudo systemctl restart redis.service
#Preuzimanje i instalacija Yarn-a
echo "Preuzimanje i instalacija Yarn-a..."
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/yarn.gpg
echo "deb [signed-by=/usr/share/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" | sudo tee -a /etc/apt/sources.list.d/yarn.list
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y yarn
#Preuzimanje i instalacija NodeJS
echo "Preuzimanje i instalacija NodeJS webpack-a globalno..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs npm node-gyp libssl-dev
sudo npm install webpack -g
#Preuzimanje, instalacija i konfiguracija .bashrc za nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
source ~/.bashrc
#Preuzimanje, konfiguracija i instalacija docker-a
sudo sysctl -w vm.max_map_count=262144
sudo DEBIAN_FRONTEND=noninteractive apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y docker-ce
sudo usermod -aG docker ${USER}
# Docker-compose
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
#Gnome boxes instalacija
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-boxes virt-manager
sudo mkdir /etc/qemu
sudo touch /etc/qemu/bridge.conf
#echo 'allow virbr0' >> /etc/qemu/bridge.conf
#sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y make gcc dirmngr gpg curl gawk zlib1g-dev libssl-dev unzip
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y autoconf bison patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev
#openssl stari
echo "preuzimanje i instalacija starog openssl-a"
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g/
./config --prefix=$HOME/.openssl/openssl-1.1.1g --openssldir=$HOME/.openssl/openssl-1.1.1g
make install
rm -rf ~/.openssl/openssl-1.1.1g/certs
ln -s /etc/ssl/certs ~/.openssl/openssl-1.1.1g/certs
#ASDF ruby manager
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc
echo 'Please reload terminal before moving on'
#asdf instalacije
echo "Preuzimanje i instalacija asdf paketa..."
#Ruby plugin
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
#Elixir plugin
asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git
#Erlang plugin
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
#NodeJS plugin
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
#Ruby install prior to version 3.1.0
RUBY_CONFIGURE_OPTS=--with-openssl-dir=$HOME/.openssl/openssl-1.1.1g asdf install ruby 3.0.0
#Ruby install after version 3.1.0
asdf install ruby 3.1.0
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
#podesavanje ufw
echo "Podesavanje ufw..."
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 9022
sudo ufw enable
#instalacija ssh servera
echo "Instalacija ssh servera..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
#Podesavanje ssh-a
echo "Podesavanje ssh-a..."
sudo sed -i 's/#Port 22/Port 9022/g' /etc/ssh/sshd_config
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
sudo sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/g' /etc/ssh/sshd_config
#Onemogucivanje Wayland-a
sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm3/custom.conf
sudo systemctl restart gdm3
########################################################################################################
#Nakon instalacije potreban je restart, računara ili svih servisa koji su updejtovani. (Bolje racunara)#
########################################################################################################
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment