image: docker:stable-git services: - docker:stable-dind variables: DOCKER_DRIVER: overlay2 DOCKER_CLI_EXPERIMENTAL: enabled DOCKER_BUILDKIT: 1 element: stage: build tags: - docker script: - cd element - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - element/* matrix-webhook: stage: build tags: - docker script: - cd matrix-webhook - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - matrix-webhook/* hugo: stage: build tags: - docker script: - cd hugo - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - hugo/* watchdog: stage: build tags: - docker script: - cd watchdog - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - watchdog/* unifi: stage: build tags: - docker script: - cd unifi - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - unifi/* keycloak: stage: build tags: - docker script: - cd keycloak - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - keycloak/* pleroma: stage: build tags: - docker script: - cd pleroma - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - pleroma/* roundcubemail: stage: build tags: - docker script: - cd roundcubemail - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - roundcubemail/* shields: stage: build tags: - docker script: - cd shields - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - shields/* synapse: stage: build tags: - docker script: - cd synapse - make push only: variables: - $CI_COMMIT_REF_PROTECTED == "true" changes: - synapse/* .docker_init: &docker_init | if ! docker info &>/dev/null; then if [ -z "${DOCKER_HOST}" -a "${KUBERNETES_PORT}" ]; then export DOCKER_HOST='tcp://localhost:2375' fi fi docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64 ls -al /proc/sys/fs/binfmt_misc/ if [ "${CI_COMMIT_REF_PROTECTED}" == "true" ]; then echo "Log on Docker Hub" echo "${DOCKER_HUB_KEY}" | docker login -u "alemairebe" --password-stdin docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY fi mkdir -p /root/.docker/cli-plugins wget https://github.com/docker/buildx/releases/download/v0.5.1/buildx-v0.5.1.linux-amd64 mv buildx-v0.5.1.linux-amd64 /root/.docker/cli-plugins/docker-buildx chmod +x /root/.docker/cli-plugins/docker-buildx before_script: - *docker_init - apk add --update make - docker buildx create --use --platform linux/amd64,linux/arm64,linux/arm,linux/ppc64le - docker buildx ls