70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
name: "Setup Docker Environment"
|
|
description: "Reusable steps for setting up QEMU, Docker Buildx, DockerHub login, Supersetbot, and optionally Docker Compose"
|
|
inputs:
|
|
build:
|
|
description: "Used for building?"
|
|
required: false
|
|
default: "false"
|
|
dockerhub-user:
|
|
description: "DockerHub username"
|
|
required: false
|
|
dockerhub-token:
|
|
description: "DockerHub token"
|
|
required: false
|
|
install-docker-compose:
|
|
description: "Flag to install Docker Compose"
|
|
required: false
|
|
default: "true"
|
|
login-to-dockerhub:
|
|
description: "Whether you want to log into dockerhub"
|
|
required: false
|
|
default: "true"
|
|
outputs: {}
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
|
|
- name: Set up QEMU
|
|
if: ${{ inputs.build == 'true' }}
|
|
uses: docker/setup-qemu-action@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
if: ${{ inputs.build == 'true' }}
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Try to login to DockerHub
|
|
if: ${{ inputs.login-to-dockerhub == 'true' }}
|
|
continue-on-error: true
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ inputs.dockerhub-user }}
|
|
password: ${{ inputs.dockerhub-token }}
|
|
|
|
- name: Install Docker Compose
|
|
if: ${{ inputs.install-docker-compose == 'true' }}
|
|
shell: bash
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y ca-certificates curl
|
|
sudo install -m 0755 -d /etc/apt/keyrings
|
|
|
|
# Download and save the Docker GPG key in the correct format
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
|
|
# Ensure the key file is readable
|
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
|
|
|
# Add the Docker repository using the correct key
|
|
echo \
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
|
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
|
|
# Update package lists and install Docker Compose plugin
|
|
sudo apt update
|
|
sudo apt install -y docker-compose-plugin
|
|
|
|
- name: Docker Version Info
|
|
shell: bash
|
|
run: docker info
|