From 02969d1551a1c84d463bf58b7602012ce09bf286 Mon Sep 17 00:00:00 2001 From: cruizba Date: Thu, 21 Apr 2022 19:06:02 +0200 Subject: [PATCH] deployment: Better way to install latest docker and docker-compose v2 in AMIs --- .../ce/aws/cfn-mkt-ov-ce-ami.yaml.template | 35 ++++++++++--------- .../pro/aws/cfn-mkt-kms-ami.yaml.template | 35 ++++++++++--------- .../pro/aws/cfn-mkt-ov-ami.yaml.template | 35 ++++++++++--------- 3 files changed, 54 insertions(+), 51 deletions(-) diff --git a/openvidu-server/deployments/ce/aws/cfn-mkt-ov-ce-ami.yaml.template b/openvidu-server/deployments/ce/aws/cfn-mkt-ov-ce-ami.yaml.template index 8891ae86..fd327586 100644 --- a/openvidu-server/deployments/ce/aws/cfn-mkt-ov-ce-ami.yaml.template +++ b/openvidu-server/deployments/ce/aws/cfn-mkt-ov-ce-ami.yaml.template @@ -47,27 +47,28 @@ Resources: gnupg-agent \ software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - - apt-key fingerprint 0EBFCD88 - add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update && apt-get install -y \ - docker-ce \ - docker-ce-cli \ - containerd.io + docker-ce \ + docker-ce-cli \ + containerd.io # Install docker-compose v2 - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose - curl -fL https://raw.githubusercontent.com/docker/compose-switch/master/install_on_linux.sh | sh - curl -fL https://github.com/docker/compose-switch/releases/download/v1.0.4/docker-compose-linux-amd64 -o /usr/local/bin/compose-switch - chmod +x /usr/local/bin/compose-switch - update-alternatives --install /usr/local/bin/docker-compose docker-compose /usr/local/bin/compose-switch 99 + LATEST_DOCKER_COMPOSE_VERSION=$(curl -sSL https://api.github.com/repos/docker/compose/tags | grep name | head -n1 | cut -d'"' -f4) + + OS="$(uname -s | awk '{print tolower($0)}')" + ARCH="$(uname -m)" + + mkdir -p /usr/local/lib/docker/cli-plugins + rm -f /usr/local/lib/docker/cli-plugins/docker-compose + curl -SL "https://github.com/docker/compose/releases/download/${LATEST_DOCKER_COMPOSE_VERSION}/docker-compose-${OS}-${ARCH}" \ + -o /usr/local/lib/docker/cli-plugins/docker-compose + chmod +x /usr/local/lib/docker/cli-plugins/docker-compose + ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin mode: "000755" owner: "root" diff --git a/openvidu-server/deployments/pro/aws/cfn-mkt-kms-ami.yaml.template b/openvidu-server/deployments/pro/aws/cfn-mkt-kms-ami.yaml.template index 37a90847..14af2a53 100644 --- a/openvidu-server/deployments/pro/aws/cfn-mkt-kms-ami.yaml.template +++ b/openvidu-server/deployments/pro/aws/cfn-mkt-kms-ami.yaml.template @@ -47,27 +47,28 @@ Resources: gnupg-agent \ software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - - apt-key fingerprint 0EBFCD88 - add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update && apt-get install -y \ - docker-ce \ - docker-ce-cli \ - containerd.io + docker-ce \ + docker-ce-cli \ + containerd.io # Install docker-compose v2 - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose - curl -fL https://raw.githubusercontent.com/docker/compose-switch/master/install_on_linux.sh | sh - curl -fL https://github.com/docker/compose-switch/releases/download/v1.0.4/docker-compose-linux-amd64 -o /usr/local/bin/compose-switch - chmod +x /usr/local/bin/compose-switch - update-alternatives --install /usr/local/bin/docker-compose docker-compose /usr/local/bin/compose-switch 99 + LATEST_DOCKER_COMPOSE_VERSION=$(curl -sSL https://api.github.com/repos/docker/compose/tags | grep name | head -n1 | cut -d'"' -f4) + + OS="$(uname -s | awk '{print tolower($0)}')" + ARCH="$(uname -m)" + + mkdir -p /usr/local/lib/docker/cli-plugins + rm -f /usr/local/lib/docker/cli-plugins/docker-compose + curl -SL "https://github.com/docker/compose/releases/download/${LATEST_DOCKER_COMPOSE_VERSION}/docker-compose-${OS}-${ARCH}" \ + -o /usr/local/lib/docker/cli-plugins/docker-compose + chmod +x /usr/local/lib/docker/cli-plugins/docker-compose + ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin mode: "000755" owner: "root" diff --git a/openvidu-server/deployments/pro/aws/cfn-mkt-ov-ami.yaml.template b/openvidu-server/deployments/pro/aws/cfn-mkt-ov-ami.yaml.template index c16293f7..c2b1b777 100644 --- a/openvidu-server/deployments/pro/aws/cfn-mkt-ov-ami.yaml.template +++ b/openvidu-server/deployments/pro/aws/cfn-mkt-ov-ami.yaml.template @@ -47,27 +47,28 @@ Resources: gnupg-agent \ software-properties-common - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - - apt-key fingerprint 0EBFCD88 - add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) \ - stable" + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update && apt-get install -y \ - docker-ce \ - docker-ce-cli \ - containerd.io + docker-ce \ + docker-ce-cli \ + containerd.io # Install docker-compose v2 - DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} - mkdir -p $DOCKER_CONFIG/cli-plugins - curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose - chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose - curl -fL https://raw.githubusercontent.com/docker/compose-switch/master/install_on_linux.sh | sh - curl -fL https://github.com/docker/compose-switch/releases/download/v1.0.4/docker-compose-linux-amd64 -o /usr/local/bin/compose-switch - chmod +x /usr/local/bin/compose-switch - update-alternatives --install /usr/local/bin/docker-compose docker-compose /usr/local/bin/compose-switch 99 + LATEST_DOCKER_COMPOSE_VERSION=$(curl -sSL https://api.github.com/repos/docker/compose/tags | grep name | head -n1 | cut -d'"' -f4) + + OS="$(uname -s | awk '{print tolower($0)}')" + ARCH="$(uname -m)" + + mkdir -p /usr/local/lib/docker/cli-plugins + rm -f /usr/local/lib/docker/cli-plugins/docker-compose + curl -SL "https://github.com/docker/compose/releases/download/${LATEST_DOCKER_COMPOSE_VERSION}/docker-compose-${OS}-${ARCH}" \ + -o /usr/local/lib/docker/cli-plugins/docker-compose + chmod +x /usr/local/lib/docker/cli-plugins/docker-compose + ln -s /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin mode: "000755" owner: "root"