Skip to content

Instantly share code, notes, and snippets.

@roens
Last active April 11, 2022 00:18
Show Gist options
  • Save roens/33e0f47a714a88871e0495bd60c8b115 to your computer and use it in GitHub Desktop.
Save roens/33e0f47a714a88871e0495bd60c8b115 to your computer and use it in GitHub Desktop.
A bash function for installing/updating docker-compose
# Add to your ~/.bash_aliases or preferred spot for such functions:
docker-compose-install (){
if [ ! "$(type -p jq)" ]; then
echo -e "** Fail! This needs jq. Please do one of:\n apt install jq\n port install jq"
return 99
fi
[ $(type -p docker-compose) ] && \
current_version=$(docker-compose -v | awk '{print $4}')
current_version="${current_version:-v0.0.0}"
latest_version=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq '.tag_name' --raw-output)
if [ "${current_version}" == "${latest_version}" ]; then
echo "** But docker-compose is alreaday at the latest release: ${latest_version}"
else
echo "** Updating docker-compose from ${current_version} to ${latest_version}"
curl \
-sL "https://github.com/docker/compose/releases/download/${latest_version}/docker-compose-$(uname -s)-$(uname -m)" \
-o '/tmp/docker-compose'
curl \
-sL "https://raw.githubusercontent.com/docker/compose/${latest_version}/contrib/completion/bash/docker-compose" \
-o /tmp/docker-compose.bash
sudo chown root:staff /tmp/docker-compose
sudo chmod +x /tmp/docker-compose
sudo mv /tmp/docker-compose /usr/local/bin/
sudo mv /tmp/docker-compose.bash /etc/bash_completion.d/
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment