Skip to content

Instantly share code, notes, and snippets.

@kulbirsaini
Last active July 26, 2025 12:04
Show Gist options
  • Save kulbirsaini/49d6748e07fbcb4bb72d3b321ef87021 to your computer and use it in GitHub Desktop.
Save kulbirsaini/49d6748e07fbcb4bb72d3b321ef87021 to your computer and use it in GitHub Desktop.
# Maintined at https://gist.github.com/kulbirsaini/d8cfc88f3b44711d73e427526219d54a
#
# Limit journal size https://askubuntu.com/a/1012913/262039
#
# Disable MySQL bin log https://dba.stackexchange.com/a/120693/233878
#
# Perform base system upgrade
sudo apt update
sudo apt upgrade -y
# Install basic packages and libs
sudo apt install -y vim git ssh bash mysql-client imagemagick screen curl wget lynx openssl libdbi-perl libdbi-perl libdbd-mysql-perl zlib1g-dev libu2f-udev libbz2-dev lzma liblzma-dev python3-tk libmysqlclient-dev libpq-dev tree net-tools openjdk-21-jre tk-dev golang-go direnv libncurses5-dev libffi-dev libreadline-dev libsqlite3-dev bison
# Install docker and docker compose
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
noble stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt remove docker docker-engine docker.io containerd runc
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp docker
# Install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
# Bash completion for kubectl
sudo apt install -y bash-completion
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
source ~/.bashrc
# Install gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# pyenv
curl -fsSL https://pyenv.run | bash
# rvm
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash
# Helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
rm -f get_helm.sh
# Basic git settings
git config --global core.editor "vim"
git config --global init.defaultBranch main
git config --global user.name "Kulbir Saini"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment