Skip to content

Instantly share code, notes, and snippets.

@masterujjval
Last active November 12, 2025 09:02
Show Gist options
  • Select an option

  • Save masterujjval/7208549fc3b717206bc94404f2939149 to your computer and use it in GitHub Desktop.

Select an option

Save masterujjval/7208549fc3b717206bc94404f2939149 to your computer and use it in GitHub Desktop.
EC2 installation setup
#! /bin/bash
# to establish connection first
# ++++++++++++++++++++++++ java installation ++++++++++++++++++++++++++++
sudo apt update -y
sudo apt upgrade -y
sudo apt install openjdk-21-jdk -y
java --version
# +++++++++++++++++++++++ docker installation ++++++++++++++++++++++++++
# requires root
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Increase Docker memory limits via systemd override
sudo mkdir -p /etc/systemd/system/docker.service.d
echo -e "[Service]\nLimitMEMLOCK=infinity\nLimitNOFILE=1048576\nLimitNPROC=infinity" | sudo tee /etc/systemd/system/docker.service.d/override.conf
# Reload systemd and restart Docker
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker ps
# sudo usermod -aG docker $USER
# newgrp docker
# ++++++++++++++++++++++++++++++++++ kubctl +++++++++++++++++++++++++++++
sudo apt update && sudo upgrade -y
sudo snap install kubectl --classic
# ++++++++++++++++++++++++++++++++++ minikube installation +++++++++++++++++
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget apt-transport-https
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x *
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube version
eval $(minikube docker-env)
minikube start --driver=docker
# +++++++++++++++ helm +++++++++++++++++++++++==
sudo snap install helm --classic
# ++++++++++++ to install oci to doploy app on openshift +++++
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# ++++++ openshift cli ++++
curl -LO https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz
tar -xvzf openshift-client-linux.tar.gz
sudo mv oc /usr/local/bin/
oc version
sudo apt-get install -y unzip
sudo apt-get update && sudo apt-get install -y python3-pip
sudo apt-get install -y python3.12-venv
# ++++ Create group in last as it is opening new shell such that commands after this wont run +++++
sudo usermod -aG docker $USER
newgrp docker
minikube start --driver=docker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment