From c5b58343fb7c614d7dd7df8c34e356e7873f5bf7 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 5 May 2021 13:09:07 +0100 Subject: [PATCH 01/23] Docker image start. --- .github/workflows/docker-build-master.yaml | 32 +++++ docker/Dockerfile | 137 +++++++++++++++++++++ docker/docker-compose.yaml | 12 ++ docker/shairport-sync.conf | 14 +++ docker/start.sh | 18 +++ 5 files changed, 213 insertions(+) create mode 100644 .github/workflows/docker-build-master.yaml create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yaml create mode 100644 docker/shairport-sync.conf create mode 100644 docker/start.sh diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml new file mode 100644 index 00000000..06163667 --- /dev/null +++ b/.github/workflows/docker-build-master.yaml @@ -0,0 +1,32 @@ +# Pushes to tag 'unstable' since it uses the master branch directly. +# Releases are pushed to latest and tagged - see docker-build-releases.yaml. + +name: Build and push docker image based on master branch. + +on: + push: + branches: master + +jobs: + main: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_REGISTRY_USER }} + password: ${{ secrets.DOCKER_REGISTRY_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./docker/Dockerfile + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + push: true + tags: registry.nova.do/shairport-sync:unstable \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..31f00d49 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,137 @@ +FROM alpine:3.12 AS builder-base +# Version 3.12 is required for now since libplist has breaking changes in v3.13 and above which are not yet standard +# in debian/ubuntu. + +# General Build System: +RUN apk -U add \ + git \ + build-base \ + autoconf \ + automake \ + libtool \ + dbus \ + su-exec \ + alsa-lib-dev \ + libdaemon-dev \ + popt-dev \ + mbedtls-dev \ + soxr-dev \ + avahi-dev \ + libconfig-dev \ + libsndfile-dev \ + mosquitto-dev \ + xmltoman \ + openssh-client \ + libsodium-dev \ + ffmpeg-dev \ + xxd \ + libressl-dev \ + openssl-dev \ + libplist-dev + +# ALAC Build System: +FROM builder-base AS builder-alac + +RUN git clone https://github.com/mikebrady/alac +WORKDIR /alac +RUN git pull +RUN autoreconf -fi +RUN ./configure +RUN make +RUN make install + +# Shairport Sync Build System: +FROM builder-base AS builder-sps + +# This may be modified by the Github Action Workflow. +ARG SHAIRPORT_SYNC_BRANCH=development + +COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/ +COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc +COPY --from=builder-alac /usr/local/include /usr/local/include + +RUN git clone git@github.com:charlesomer/nqptp.git +WORKDIR /nqptp +# Use development branch for now. +RUN git checkout development +RUN git pull +RUN autoreconf -fi +RUN ./configure +RUN make +RUN make install +WORKDIR / + +RUN git clone git@github.com:aillwee/shairport-sync.git +WORKDIR /shairport-sync +RUN git checkout "$SHAIRPORT_SYNC_BRANCH" +RUN git pull +RUN autoreconf -fi +RUN git submodule init +RUN git submodule update +# RUN ./configure \ +# --with-alsa \ +# --with-dummy \ +# --with-pipe \ +# --with-stdout \ +# --with-avahi \ +# --with-ssl=mbedtls \ +# --with-soxr \ +# --sysconfdir=/etc \ +# --with-dbus-interface \ +# --with-mpris-interface \ +# --with-mqtt-client \ +# --with-apple-alac \ +# --with-convolution \ +# --with-airplay-2 +# RUN make -j $(nproc) +RUN CFLAGS="-O0 -g" CXXFLAGS="-O0 -g" ./configure --sysconfdir=/etc --with-metadata --with-dummy --with-pipe \ + --with-alsa --with-soxr --with-avahi --with-ssl=openssl --with-dbus-interface --with-stdout \ + --with-mpris-interface --with-mqtt-client --with-apple-alac --with-convolution --with-airplay-2 +RUN make -j +RUN make install + +# Shairport Sync Runtime System: +FROM alpine:3.12 + +RUN apk add \ + alsa-lib \ + dbus \ + popt \ + glib \ + mbedtls \ + soxr \ + avahi \ + libconfig \ + libsndfile \ + mosquitto-libs \ + su-exec \ + libuuid \ + ffmpeg-dev \ + ffmpeg-libs \ + libsodium-dev \ + libplist-dev + +RUN rm -rf /lib/apk/db/* + +COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/ +COPY --from=builder-sps /etc/shairport-sync* /etc/ +COPY --from=builder-sps /etc/dbus-1/system.d/shairport-sync-dbus.conf /etc/dbus-1/system.d/ +COPY --from=builder-sps /etc/dbus-1/system.d/shairport-sync-mpris.conf /etc/dbus-1/system.d/ +COPY --from=builder-sps /usr/local/bin/shairport-sync /usr/local/bin/shairport-sync +COPY --from=builder-sps /usr/local/bin/nqptp /usr/local/bin/nqptp + +# Create non-root user for running the container -- running as the user 'shairport-sync' also allows +# Shairport Sync to provide the D-Bus and MPRIS interfaces within the container + +RUN addgroup shairport-sync +RUN adduser -D shairport-sync -G shairport-sync + +# Add the shairport-sync user to the pre-existing audio group, which has ID 29, for access to the ALSA stuff +RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio && addgroup shairport-sync audio + +COPY ./docker/shairport-sync.conf /etc/shairport-sync.conf +COPY ./docker/start.sh / + +RUN chmod +x ./start.sh + +ENTRYPOINT [ "/start.sh" ] \ No newline at end of file diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml new file mode 100644 index 00000000..8adbd6df --- /dev/null +++ b/docker/docker-compose.yaml @@ -0,0 +1,12 @@ +# Example docker compose config. + +version: "3.8" +services: + shairport-sync: + image: registry.nova.do/shairport-sync:dev + network_mode: host + restart: unless-stopped + devices: + - "/dev/snd" + volumes: + - ./volumes/shairport-sync/shairport-sync.conf:/etc/shairport-sync.conf \ No newline at end of file diff --git a/docker/shairport-sync.conf b/docker/shairport-sync.conf new file mode 100644 index 00000000..bb447958 --- /dev/null +++ b/docker/shairport-sync.conf @@ -0,0 +1,14 @@ +# Temp sample Configuration File for Shairport Sync on a Raspberry Pi using the built-in audio DAC. +general = +{ + volume_range_db = 60; +}; + +alsa = +{ + output_device = "hw:0"; + # Could also be hw:1. aplay -l should help identify the correct one. + # e.g. card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones] + # card x where x is the number to use above in hw:x + mixer_control_name = "Headphone"; +}; \ No newline at end of file diff --git a/docker/start.sh b/docker/start.sh new file mode 100644 index 00000000..bb790283 --- /dev/null +++ b/docker/start.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +rm -rf /var/run/dbus.pid +#mkdir -p /var/run/dbus + +dbus-uuidgen --ensure +dbus-daemon --system + +avahi-daemon --daemonize --no-chroot + +# TODO: This should probably be implemented in a better way and using the correct nqptp group. +nqptp & + +# su-exec shairport-sync shairport-sync $@ + +shairport-sync -vu --statistics \ No newline at end of file From 033d03821de735523cbf4a968d034af4b3b6014c Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 5 May 2021 13:11:53 +0100 Subject: [PATCH 02/23] Update docker build. --- .github/workflows/docker-build-master.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 06163667..b16c5812 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -5,7 +5,7 @@ name: Build and push docker image based on master branch. on: push: - branches: master + branches: [ master, development ] jobs: main: @@ -29,4 +29,4 @@ jobs: file: ./docker/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:unstable \ No newline at end of file + tags: registry.nova.do/shairport-sync:unstable-${GITHUB_REF##*/} # ${GITHUB_REF##*/} gets the current branch name. \ No newline at end of file From 34d4ca2155706691110d6eb612e2cfcab3b5a466 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 5 May 2021 13:14:24 +0100 Subject: [PATCH 03/23] Added readme file. --- docker/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 docker/README.md diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 00000000..90aaefa1 --- /dev/null +++ b/docker/README.md @@ -0,0 +1 @@ +# Shairport Sync Docker Image \ No newline at end of file From 38216253b7a124a5181987b8c823b775a2fa4a47 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 5 May 2021 13:17:24 +0100 Subject: [PATCH 04/23] Corrected registry. --- .github/workflows/docker-build-master.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index b16c5812..d94037bb 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -17,9 +17,10 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub + - name: Login to Docker Registry uses: docker/login-action@v1 with: + registry: registry.nova.do username: ${{ secrets.DOCKER_REGISTRY_USER }} password: ${{ secrets.DOCKER_REGISTRY_TOKEN }} - name: Build and push From 6bdc4aa8a61a05736ed7dd5a9c2608ecbba426fa Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 5 May 2021 13:22:00 +0100 Subject: [PATCH 05/23] Set branch env. --- .github/workflows/docker-build-master.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index d94037bb..de398537 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -13,6 +13,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 + - name: Set branch env. + run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx @@ -30,4 +32,6 @@ jobs: file: ./docker/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:unstable-${GITHUB_REF##*/} # ${GITHUB_REF##*/} gets the current branch name. \ No newline at end of file + tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} + build-args: | + BRANCH=${{ env.BRANCH }} \ No newline at end of file From 9ae77b98418592e04238937f983f0fbf16f5fbca Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 5 May 2021 22:45:03 +0100 Subject: [PATCH 06/23] Updated docker build. --- .github/workflows/docker-build-master.yaml | 3 ++- docker/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index de398537..60ab6048 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -34,4 +34,5 @@ jobs: push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | - BRANCH=${{ env.BRANCH }} \ No newline at end of file + BRANCH=${{ env.BRANCH }} + ssh: ${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 31f00d49..05382642 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -50,7 +50,7 @@ COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/ COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc COPY --from=builder-alac /usr/local/include /usr/local/include -RUN git clone git@github.com:charlesomer/nqptp.git +RUN --mount=type=ssh git clone git@github.com:charlesomer/nqptp.git WORKDIR /nqptp # Use development branch for now. RUN git checkout development @@ -61,7 +61,7 @@ RUN make RUN make install WORKDIR / -RUN git clone git@github.com:aillwee/shairport-sync.git +RUN --mount=type=ssh git clone git@github.com:aillwee/shairport-sync.git WORKDIR /shairport-sync RUN git checkout "$SHAIRPORT_SYNC_BRANCH" RUN git pull From 2331b109b02f719ab1956369f9288d53b5c7cdec Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 00:26:01 +0100 Subject: [PATCH 07/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 60ab6048..88277193 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -35,4 +35,4 @@ jobs: tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | BRANCH=${{ env.BRANCH }} - ssh: ${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file + ssh: [ ${{ secrets.SSH_PRIVATE_KEY }} ] \ No newline at end of file From 2ba6d2a8799d549c1518593d22fed11737205315 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 00:28:10 +0100 Subject: [PATCH 08/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 88277193..f07a9959 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -35,4 +35,4 @@ jobs: tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | BRANCH=${{ env.BRANCH }} - ssh: [ ${{ secrets.SSH_PRIVATE_KEY }} ] \ No newline at end of file + ssh: default ${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file From debb62cd27dc1183ba38f77897324fcf58e01f02 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 01:55:41 +0100 Subject: [PATCH 09/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- docker/Dockerfile | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index f07a9959..f751f7bd 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -35,4 +35,4 @@ jobs: tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | BRANCH=${{ env.BRANCH }} - ssh: default ${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file + ssh: default=${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 05382642..584b73ec 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker/dockerfile:experimental + FROM alpine:3.12 AS builder-base # Version 3.12 is required for now since libplist has breaking changes in v3.13 and above which are not yet standard # in debian/ubuntu. @@ -34,7 +36,6 @@ FROM builder-base AS builder-alac RUN git clone https://github.com/mikebrady/alac WORKDIR /alac -RUN git pull RUN autoreconf -fi RUN ./configure RUN make @@ -50,11 +51,12 @@ COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/ COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc COPY --from=builder-alac /usr/local/include /usr/local/include +RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts + RUN --mount=type=ssh git clone git@github.com:charlesomer/nqptp.git WORKDIR /nqptp # Use development branch for now. RUN git checkout development -RUN git pull RUN autoreconf -fi RUN ./configure RUN make @@ -64,7 +66,6 @@ WORKDIR / RUN --mount=type=ssh git clone git@github.com:aillwee/shairport-sync.git WORKDIR /shairport-sync RUN git checkout "$SHAIRPORT_SYNC_BRANCH" -RUN git pull RUN autoreconf -fi RUN git submodule init RUN git submodule update From 46742624862440f98cb04e03cfdc2b2b9cfb8c6c Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:00:43 +0100 Subject: [PATCH 10/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- docker/Dockerfile | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index f751f7bd..60ab6048 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -35,4 +35,4 @@ jobs: tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | BRANCH=${{ env.BRANCH }} - ssh: default=${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file + ssh: ${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 584b73ec..b9098c8f 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,3 @@ -# syntax=docker/dockerfile:experimental - FROM alpine:3.12 AS builder-base # Version 3.12 is required for now since libplist has breaking changes in v3.13 and above which are not yet standard # in debian/ubuntu. @@ -51,8 +49,6 @@ COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/ COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc COPY --from=builder-alac /usr/local/include /usr/local/include -RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts - RUN --mount=type=ssh git clone git@github.com:charlesomer/nqptp.git WORKDIR /nqptp # Use development branch for now. From 2a06e349f420f765f296b1f4c50c2476dedb6ac7 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:07:05 +0100 Subject: [PATCH 11/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- docker/Dockerfile | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 60ab6048..be7f644e 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -35,4 +35,4 @@ jobs: tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | BRANCH=${{ env.BRANCH }} - ssh: ${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file + ssh: github=${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index b9098c8f..d12ad352 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -49,7 +49,10 @@ COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/ COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc COPY --from=builder-alac /usr/local/include /usr/local/include -RUN --mount=type=ssh git clone git@github.com:charlesomer/nqptp.git +# TODO: Remove when no longer pulling from private repos. +RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts + +RUN --mount=type=ssh,id=github git clone git@github.com:charlesomer/nqptp.git WORKDIR /nqptp # Use development branch for now. RUN git checkout development @@ -59,7 +62,7 @@ RUN make RUN make install WORKDIR / -RUN --mount=type=ssh git clone git@github.com:aillwee/shairport-sync.git +RUN --mount=type=ssh,id=github git clone git@github.com:aillwee/shairport-sync.git WORKDIR /shairport-sync RUN git checkout "$SHAIRPORT_SYNC_BRANCH" RUN autoreconf -fi From 21c6f93ae1103c48424cf30d4d511453ea12dcbd Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:08:47 +0100 Subject: [PATCH 12/23] Try this. --- .github/workflows/docker-build-master.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index be7f644e..f4054eb5 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -30,9 +30,9 @@ jobs: with: context: ./ file: ./docker/Dockerfile + ssh: github=${{ secrets.SSH_PRIVATE_KEY }} # Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | - BRANCH=${{ env.BRANCH }} - ssh: github=${{ secrets.SSH_PRIVATE_KEY }} \ No newline at end of file + BRANCH=${{ env.BRANCH }} \ No newline at end of file From 859ea80447343a9359dfe82d8e2cdf16f35c9094 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:10:28 +0100 Subject: [PATCH 13/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index f4054eb5..114a468e 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -30,7 +30,7 @@ jobs: with: context: ./ file: ./docker/Dockerfile - ssh: github=${{ secrets.SSH_PRIVATE_KEY }} # Can be removed when no longer pulling from private repos. + ssh: [github=${{ secrets.SSH_PRIVATE_KEY }}] # Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} From 4d05d4ab3b5eefd478ac2f14c002f2341f438f1d Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:16:21 +0100 Subject: [PATCH 14/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 114a468e..2671b155 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -30,7 +30,7 @@ jobs: with: context: ./ file: ./docker/Dockerfile - ssh: [github=${{ secrets.SSH_PRIVATE_KEY }}] # Can be removed when no longer pulling from private repos. + ssh: "github=${{ secrets.SSH_PRIVATE_KEY }}" # Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} From 0fe12907238f919aaaac7d5781818c7c87ee4616 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:17:25 +0100 Subject: [PATCH 15/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 2671b155..0533f728 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -30,7 +30,7 @@ jobs: with: context: ./ file: ./docker/Dockerfile - ssh: "github=${{ secrets.SSH_PRIVATE_KEY }}" # Can be removed when no longer pulling from private repos. + ssh: github=test # Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} From b35fa40cf46c91c387c077dfe66a3582f6bce0c8 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:20:57 +0100 Subject: [PATCH 16/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 0533f728..f4054eb5 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -30,7 +30,7 @@ jobs: with: context: ./ file: ./docker/Dockerfile - ssh: github=test # Can be removed when no longer pulling from private repos. + ssh: github=${{ secrets.SSH_PRIVATE_KEY }} # Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} From a53e80ed07a3db070b3bc7811806ed19dff4b8e2 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:22:07 +0100 Subject: [PATCH 17/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index f4054eb5..252a9ae6 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -30,7 +30,7 @@ jobs: with: context: ./ file: ./docker/Dockerfile - ssh: github=${{ secrets.SSH_PRIVATE_KEY }} # Can be removed when no longer pulling from private repos. + # ssh: github=${{ secrets.SSH_PRIVATE_KEY }} # Has to be added to repo without line breaks. Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} From dc510f1ebc87789a1180185144992739747191e9 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:46:14 +0100 Subject: [PATCH 18/23] Try this. --- .github/workflows/docker-build-master.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 252a9ae6..5524f846 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -15,6 +15,9 @@ jobs: uses: actions/checkout@v2 - name: Set branch env. run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV + - uses: webfactory/ssh-agent # Can be removed when no longer pulling from private repos. + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx @@ -30,9 +33,9 @@ jobs: with: context: ./ file: ./docker/Dockerfile - # ssh: github=${{ secrets.SSH_PRIVATE_KEY }} # Has to be added to repo without line breaks. Can be removed when no longer pulling from private repos. platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }} build-args: | - BRANCH=${{ env.BRANCH }} \ No newline at end of file + BRANCH=${{ env.BRANCH }} + ssh: github=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. \ No newline at end of file From 511eff799961cae2e3020762a66a227ffcc798c5 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:49:13 +0100 Subject: [PATCH 19/23] Try this. --- .github/workflows/docker-build-master.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 5524f846..3f9a87a8 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -15,7 +15,8 @@ jobs: uses: actions/checkout@v2 - name: Set branch env. run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV - - uses: webfactory/ssh-agent # Can be removed when no longer pulling from private repos. + - name: Set up ssh agent + uses: webfactory/ssh-agent # Can be removed when no longer pulling from private repos. with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Set up QEMU From 503e59220bdc0a020a59b5c2172e7dbced23942f Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:51:24 +0100 Subject: [PATCH 20/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 3f9a87a8..52ce2daf 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -16,7 +16,7 @@ jobs: - name: Set branch env. run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV - name: Set up ssh agent - uses: webfactory/ssh-agent # Can be removed when no longer pulling from private repos. + uses: webfactory/ssh-agent@v0.5.2 # Can be removed when no longer pulling from private repos. with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: Set up QEMU From 942cf5026f968f22fdaaee30d64b06da2475a914 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 02:53:21 +0100 Subject: [PATCH 21/23] Try this. --- .github/workflows/docker-build-master.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-master.yaml b/.github/workflows/docker-build-master.yaml index 52ce2daf..71ca9d87 100644 --- a/.github/workflows/docker-build-master.yaml +++ b/.github/workflows/docker-build-master.yaml @@ -1,4 +1,4 @@ -# Pushes to tag 'unstable' since it uses the master branch directly. +# Pushes to tag 'unstable-BRANCH'. # Releases are pushed to latest and tagged - see docker-build-releases.yaml. name: Build and push docker image based on master branch. From 233de61032f1846f5a0c681321e67374f4c4bafa Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 11:36:02 +0100 Subject: [PATCH 22/23] Test. --- docker/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/README.md b/docker/README.md index 90aaefa1..74b986ca 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1 +1,3 @@ -# Shairport Sync Docker Image \ No newline at end of file +# Shairport Sync Docker Image + +https://hub.docker.com/r/mikebrady/shairport-sync \ No newline at end of file From 0ff054b9ce621de100cc5555c1ae2b0bbb23955e Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 6 May 2021 11:53:19 +0100 Subject: [PATCH 23/23] Updated docker compose. --- docker/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 8adbd6df..4153577a 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -3,7 +3,7 @@ version: "3.8" services: shairport-sync: - image: registry.nova.do/shairport-sync:dev + image: registry.nova.do/shairport-sync:unstable-development network_mode: host restart: unless-stopped devices: