Last active
July 26, 2025 12:04
-
-
Save kulbirsaini/49d6748e07fbcb4bb72d3b321ef87021 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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