diff --git a/.github/renovate.json b/.github/renovate.json index 506a053..6d847d3 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -14,6 +14,14 @@ "(aarch64|amd64|armhf|armv7|i386):\\s[\"']?(?.*?):(?.*?)[\"']?\\s" ], "datasourceTemplate": "docker" + }, + { + "fileMatch": ["/Dockerfile$"], + "matchStrings": [ + "ARG AIRCONNECT_VERSION=[\"']?(?.+?)[\"']?\\s+" + ], + "datasourceTemplate": "github-releases", + "depNameTemplate": "philippe44/AirConnect" } ], "packageRules": [ diff --git a/airsonos/Dockerfile b/airsonos/Dockerfile index e360ffd..fbb85ea 100755 --- a/airsonos/Dockerfile +++ b/airsonos/Dockerfile @@ -8,9 +8,31 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Copy root filesystem COPY rootfs / -# Add airsonos binary +# Setup base ARG BUILD_ARCH=amd64 -COPY bin/airsonos-${BUILD_ARCH} /usr/bin/airsonos +ARG AIRCONNECT_VERSION="1.2.0" +RUN \ + apt-get update \ + && apt-get install -y --no-install-recommends \ + unzip=6.0-28 \ + \ + && curl -J -L -o /tmp/airconnect.zip \ + "https://github.com/philippe44/AirConnect/releases/download/${AIRCONNECT_VERSION}/AirConnect-${AIRCONNECT_VERSION}.zip" \ + && unzip -d /tmp /tmp/airconnect.zip \ + \ + && if [ "${BUILD_ARCH}" = "aarch64" ]; then AIRCONNECT_ARCH="aarch64"; \ + elif [ "${BUILD_ARCH}" = "amd64" ]; then AIRCONNECT_ARCH="x86_64"; \ + elif [ "${BUILD_ARCH}" = "armv7" ]; then AIRCONNECT_ARCH="arm"; fi \ + \ + && cp "/tmp/airupnp-linux-${AIRCONNECT_ARCH}-static" /usr/bin/airsonos \ + && chmod a+x /usr/bin/airsonos \ + \ + && apt-get purge -y --auto-remove \ + unzip \ + && rm -fr \ + /tmp/* \ + /var/{cache,log}/* \ + /var/lib/apt/lists/* # Build arguments ARG BUILD_ARCH diff --git a/airsonos/bin/airsonos-aarch64 b/airsonos/bin/airsonos-aarch64 deleted file mode 100755 index 78cd9a7..0000000 Binary files a/airsonos/bin/airsonos-aarch64 and /dev/null differ diff --git a/airsonos/bin/airsonos-amd64 b/airsonos/bin/airsonos-amd64 deleted file mode 100755 index 84a2b80..0000000 Binary files a/airsonos/bin/airsonos-amd64 and /dev/null differ diff --git a/airsonos/bin/airsonos-armv7 b/airsonos/bin/airsonos-armv7 deleted file mode 100755 index 720902c..0000000 Binary files a/airsonos/bin/airsonos-armv7 and /dev/null differ