From d99aaae0deb101a10681d31bfdab5320ea9e1dc8 Mon Sep 17 00:00:00 2001 From: aptalca Date: Thu, 24 Jun 2021 09:53:23 -0400 Subject: [PATCH] Use prebuilt compose binaries from lsio repo --- .github/workflows/external_trigger.yml | 2 +- Dockerfile | 38 +++--------------------- Dockerfile.aarch64 | 39 +++---------------------- Dockerfile.armhf | 40 +++----------------------- Jenkinsfile | 4 +-- README.md | 1 + jenkins-vars.yml | 4 +-- readme-vars.yml | 1 + 8 files changed, 19 insertions(+), 110 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 180d2a0..85834b4 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -18,7 +18,7 @@ jobs: fi echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_CLOUD9_MASTER\". ****" echo "**** Retrieving external version ****" - EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/docker/compose/releases/latest" | jq -r '. | .tag_name') + EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/linuxserver/docker-docker-compose/releases/latest" | jq -r '. | .tag_name') if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "**** Can't retrieve external version, exiting ****" FAILURE_REASON="Can't retrieve external version for cloud9 branch master" diff --git a/Dockerfile b/Dockerfile index eef9fda..6594e71 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,37 +1,7 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic as buildstage +ARG COMPOSE_VERSION="latest" -ARG COMPOSE_VERSION - -RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y \ - git \ - libffi-dev \ - python3 \ - python3-dev \ - python3-pip \ - zlib1g-dev - -RUN \ - echo "**** build compose ****" && \ - cd /tmp && \ - if [ -z ${COMPOSE_VERSION+x} ]; then \ - COMPOSE_VERSION=$(curl -sX GET "https://api.github.com/repos/docker/compose/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ - fi && \ - git clone https://github.com/docker/compose.git && \ - cd compose && \ - git checkout ${COMPOSE_VERSION} && \ - pip3 install -U pip && \ - pip install \ - pyinstaller && \ - pip install \ - -r requirements.txt \ - -r requirements-build.txt && \ - ./script/build/write-git-sha > compose/GITSHA && \ - pyinstaller docker-compose.spec && \ - mv dist/docker-compose / +# docker compose +FROM ghcr.io/linuxserver/docker-compose:amd64-${COMPOSE_VERSION} as compose # runtime stage FROM ghcr.io/linuxserver/baseimage-cloud9:latest @@ -43,7 +13,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA LABEL maintainer="thelamer" # Docker compose -COPY --from=buildstage /docker-compose /usr/local/bin/ +COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose RUN \ echo "**** install docker deps ****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index f5f48b1..c590c2a 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,38 +1,7 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic as buildstage +ARG COMPOSE_VERSION="latest" -ARG COMPOSE_VERSION - -RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y \ - git \ - libffi-dev \ - libssl-dev \ - python3 \ - python3-dev \ - python3-pip \ - zlib1g-dev - -RUN \ - echo "**** build compose ****" && \ - cd /tmp && \ - if [ -z ${COMPOSE_VERSION+x} ]; then \ - COMPOSE_VERSION=$(curl -sX GET "https://api.github.com/repos/docker/compose/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ - fi && \ - git clone https://github.com/docker/compose.git && \ - cd compose && \ - git checkout ${COMPOSE_VERSION} && \ - pip3 install -U pip && \ - pip install \ - pyinstaller && \ - pip install \ - -r requirements.txt \ - -r requirements-build.txt && \ - ./script/build/write-git-sha > compose/GITSHA && \ - pyinstaller docker-compose.spec && \ - mv dist/docker-compose / +# docker compose +FROM ghcr.io/linuxserver/docker-compose:arm64v8-${COMPOSE_VERSION} as compose # runtime stage FROM ghcr.io/linuxserver/baseimage-cloud9:arm64v8-latest @@ -44,7 +13,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA LABEL maintainer="thelamer" # Docker compose -COPY --from=buildstage /docker-compose /usr/local/bin/ +COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose RUN \ echo "**** install docker deps ****" && \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 2016b35..8cbe16c 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,39 +1,7 @@ -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic as buildstage +ARG COMPOSE_VERSION="latest" -ARG COMPOSE_VERSION - -RUN \ - echo "**** install packages ****" && \ - apt-get update && \ - apt-get install -y \ - git \ - libffi-dev \ - libssl-dev \ - python3 \ - python3-dev \ - python3-pip \ - rustc \ - zlib1g-dev - -RUN \ - echo "**** build compose ****" && \ - cd /tmp && \ - if [ -z ${COMPOSE_VERSION+x} ]; then \ - COMPOSE_VERSION=$(curl -sX GET "https://api.github.com/repos/docker/compose/releases/latest" \ - | awk '/tag_name/{print $4;exit}' FS='[""]'); \ - fi && \ - git clone https://github.com/docker/compose.git && \ - cd compose && \ - git checkout ${COMPOSE_VERSION} && \ - pip3 install -U pip && \ - pip install \ - pyinstaller && \ - pip install \ - -r requirements.txt \ - -r requirements-build.txt && \ - ./script/build/write-git-sha > compose/GITSHA && \ - pyinstaller docker-compose.spec && \ - mv dist/docker-compose / +# docker compose +FROM ghcr.io/linuxserver/docker-compose:arm32v7-${COMPOSE_VERSION} as compose # runtime stage FROM ghcr.io/linuxserver/baseimage-cloud9:arm32v7-latest @@ -45,7 +13,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA LABEL maintainer="thelamer" # Docker compose -COPY --from=buildstage /docker-compose /usr/local/bin/ +COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose RUN \ echo "**** install docker deps ****" && \ diff --git a/Jenkinsfile b/Jenkinsfile index c71e535..aaa9c29 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -17,8 +17,8 @@ pipeline { GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0') GITLAB_NAMESPACE=credentials('gitlab-namespace-id') EXT_GIT_BRANCH = 'master' - EXT_USER = 'docker' - EXT_REPO = 'compose' + EXT_USER = 'linuxserver' + EXT_REPO = 'docker-docker-compose' BUILD_VERSION_ARG = 'COMPOSE_VERSION' LS_USER = 'linuxserver' LS_REPO = 'docker-cloud9' diff --git a/README.md b/README.md index ade7dfc..996b3e0 100644 --- a/README.md +++ b/README.md @@ -246,5 +246,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **24.06.21:** - Use prebuilt compose binaries for the linuxserver repo. * **07.02.20:** - Add optional http auth. * **02.06.19:** - Initial Release. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index ba9fbe7..b46ad08 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -8,8 +8,8 @@ release_tag: latest ls_branch: master repo_vars: - EXT_GIT_BRANCH = 'master' - - EXT_USER = 'docker' - - EXT_REPO = 'compose' + - EXT_USER = 'linuxserver' + - EXT_REPO = 'docker-docker-compose' - BUILD_VERSION_ARG = 'COMPOSE_VERSION' - LS_USER = 'linuxserver' - LS_REPO = 'docker-cloud9' diff --git a/readme-vars.yml b/readme-vars.yml index 0ed5c86..3c8951d 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -50,6 +50,7 @@ app_setup_block: | # changelog changelogs: + - { date: "24.06.21:", desc: "Use prebuilt compose binaries for the linuxserver repo." } - { date: "07.02.20:", desc: "Add optional http auth." } - { date: "02.06.19:", desc: "Initial Release." }