Skip to content

Instantly share code, notes, and snippets.

@crazyoptimist
Last active November 15, 2021 09:20
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save crazyoptimist/4654624f10da68f62b183c82fa717176 to your computer and use it in GitHub Desktop.
Save crazyoptimist/4654624f10da68f62b183c82fa717176 to your computer and use it in GitHub Desktop.
Docker and Nginx Deployment on Ubuntu Bionic/Focal, Debian Buster
#!/bin/bash
# upgrades operating system
sudo apt-get update && sudo apt-get upgrade -y
# install docker latest
sudo apt remove docker docker-engine docker.io containerd runc # purging the legacy version if exists
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y
# install docker-compose latest
# curl -SL https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-linux-x86_64 -o docker-compose
curl -s https://api.github.com/repos/docker/compose/releases/latest \
| grep -v ".sha256" \
| grep browser_download_url \
| grep "docker-compose-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)" \
| cut -d '"' -f 4 \
| xargs curl -L -o docker-compose
chmod +x docker-compose
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo mv docker-compose /usr/local/lib/docker/cli-plugins
# add the current non-root user to docker group
sudo groupadd -f docker
sudo usermod -aG docker $USER
sudo docker -v
sudo docker compose version
# install nginx latest
echo "
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx
" | sudo tee /etc/apt/sources.list.d/nginx.list
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
sudo apt update
sudo apt remove nginx nginx-common nginx-full nginx-core -y
sudo apt install nginx -y
rm *.sh *.key
echo -e "\e[32mPlease reboot your machine .. \e[0m"
@crazyoptimist
Copy link
Author

crazyoptimist commented Sep 18, 2020

Thanks to Aimeri Baddouh, docker compose latest version became free of hard-code, from his comment here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment