From 5ab2b67a6164d0e3fe82ba84b9ea43bd40fd6ef2 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 30 Jun 2021 21:00:09 +0100 Subject: [PATCH 01/21] First attempt at additional airplay 1 build and releases process. --- .github/workflows/docker-build-releases.yaml | 57 +++++++++++ .github/workflows/docker-build.yaml | 19 +++- docker/Dockerfile | 2 +- docker/README.md | 29 +++++- docker/airplay1/Dockerfile | 102 +++++++++++++++++++ docker/airplay1/README.md | 3 + docker/airplay1/start.sh | 13 +++ docker/docker-compose.yaml | 1 - 8 files changed, 219 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/docker-build-releases.yaml create mode 100644 docker/airplay1/Dockerfile create mode 100644 docker/airplay1/README.md create mode 100644 docker/airplay1/start.sh diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml new file mode 100644 index 00000000..11716fe4 --- /dev/null +++ b/.github/workflows/docker-build-releases.yaml @@ -0,0 +1,57 @@ +# Builds & pushes a docker image when a release occurs. + +# The following tags are created: +# 'latest' & 'latest-airplay1' +# '[RELEASE TAG]' & '[RELEASE TAG]-airplay1' + +name: Build and push docker images on release. + +on: + release: + types: [ published ] + +jobs: + main: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set SHAIRPORT_SYNC_BRANCH env. + run: echo "SHAIRPORT_SYNC_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV + - name: Set up ssh agent + 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 + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - 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 + 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:latest, registry.nova.do/shairport-sync:${{ github.event.release.tag_name }} ] + build-args: | + SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} + ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. + - name: Build and push (AirPlay 1) + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./docker/airplay1/Dockerfile-AirPlay1 + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + push: true + tags: [ registry.nova.do/shairport-sync:latest-airplay1, registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 ] + build-args: | + SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index fc670487..f3aa91e3 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -1,5 +1,6 @@ -# Pushes to tag 'unstable-BRANCH'. -# Releases are pushed to latest and tagged - see docker-build-releases.yaml. +# Builds & pushes a docker image when a commit is made to one of the branches specified below. +# Tag pattern: 'unstable-[BRANCH NAME]'. +# See docker-build-releases.yaml for release build process. name: Build and push docker image based on specified branches. @@ -38,7 +39,17 @@ 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-${{ env.SHAIRPORT_SYNC_BRANCH }} + tags: [registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}] build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} - ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. \ No newline at end of file + ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. + - name: Build and push (AirPlay 1) + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./docker/airplay1/Dockerfile + platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + push: true + tags: [registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1] + build-args: | + SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 40822505..6da101a1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -67,7 +67,7 @@ WORKDIR / WORKDIR /shairport-sync COPY . . -RUN git checkout $SHAIRPORT_SYNC_BRANCH +RUN git checkout "$SHAIRPORT_SYNC_BRANCH" RUN git submodule init RUN git submodule update RUN autoreconf -fi diff --git a/docker/README.md b/docker/README.md index a460af13..ccb691a2 100644 --- a/docker/README.md +++ b/docker/README.md @@ -2,6 +2,30 @@ Available at: https://hub.docker.com/r/mikebrady/shairport-sync +## Example Docker Compose File +See the `docker-compose.yaml` file in this folder for an example. + +## Basic Usage + +``` +$ docker run -d --restart unless-stopped --net host --device /dev/snd \ + mikebrady/shairport-sync +``` +The above command will run Shairport Sync as a daemon in a Docker container, accessing the computer's ALSA audio infrastructure. It will send audio to the default output device and make no use of any hardware mixers the default device might have. The AirPlay service name will be the host's `hostname` with the first letter capitalised, e.g. `Ubuntu`. + +## Options + +Any options you add to the command above will be passed to Shairport Sync. Here is an example: +``` +$ docker run -d --restart unless-stopped --net host --device /dev/snd \ + mikebrady/shairport-sync -a DenSystem -- -d hw:0 -c PCM +``` +This will sent audio to alsa hardware device `hw:0` and make use of the that device's mixer control called `PCM`. The service will be visible as `DenSystem` on the network. + +## Configuration File + +Edit the configuration file `/etc/shairport-sync.conf` in the container (or use the `-v` option to mirror an external copy of `shairport-sync.conf` in to `/etc/shairport-sync.conf`) to get access to the full range of configuration options. + ## Build Example (for arm7 devices) TODO: remove `--ssh` when going public as this is only for private repos. @@ -9,4 +33,7 @@ TODO: remove `--ssh` when going public as this is only for private repos. docker buildx build --ssh default=$SSH_AUTH_SOCK --platform linux/arm/v7 -f ./docker/Dockerfile --build-arg SHAIRPORT_SYNC_BRANCH=development -t registry.nova.do/shairport-sync:unstable-development . ``` -`SHAIRPORT_SYNC_BRANCH` is required to ensure the image is built using the expected branch. \ No newline at end of file +`SHAIRPORT_SYNC_BRANCH` is required to ensure the image is built using the expected branch. + +## AirPlay 1 Only +The AirPlay1 only dockerfile is in the `airplay1` folder. This also includes the `start.sh` script used by the container. \ No newline at end of file diff --git a/docker/airplay1/Dockerfile b/docker/airplay1/Dockerfile new file mode 100644 index 00000000..da564276 --- /dev/null +++ b/docker/airplay1/Dockerfile @@ -0,0 +1,102 @@ +FROM alpine:3.12 AS builder-base +# 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 + +# ALAC Build System: +FROM builder-base AS builder-alac + +RUN git clone https://github.com/mikebrady/alac +WORKDIR alac +RUN autoreconf -fi +RUN ./configure +RUN make +RUN make install + +# Shairport Sync Build System: +FROM builder-base AS builder-sps + +# This will be modified by the Github Action Workflow and is required +# to ensure the correct branch is being used. +ARG SHAIRPORT_SYNC_BRANCH +RUN test -n "$SHAIRPORT_SYNC_BRANCH" + +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 + +WORKDIR shairport-sync +COPY . . +RUN git checkout "$SHAIRPORT_SYNC_BRANCH" +RUN autoreconf -fi +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 +RUN make -j $(nproc) +RUN make install + +# Shairport Sync Runtime System: +FROM alpine:3.12 + +RUN apk -U add \ + alsa-lib \ + dbus \ + popt \ + glib \ + mbedtls \ + soxr \ + avahi \ + libconfig \ + libsndfile \ + mosquitto-libs \ + su-exec \ + libgcc \ + libgc++ + +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 + +# 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 + +COPY start.sh / + +ENTRYPOINT [ "/start.sh" ] diff --git a/docker/airplay1/README.md b/docker/airplay1/README.md new file mode 100644 index 00000000..247754e6 --- /dev/null +++ b/docker/airplay1/README.md @@ -0,0 +1,3 @@ +# AirPlay 1 Only Docker Image + +See the [Shairport Sync Docker Hub Repo](https://hub.docker.com/r/mikebrady/shairport-sync) for available tags. For the latest build, use `latest-airplay1`. \ No newline at end of file diff --git a/docker/airplay1/start.sh b/docker/airplay1/start.sh new file mode 100644 index 00000000..f68a122f --- /dev/null +++ b/docker/airplay1/start.sh @@ -0,0 +1,13 @@ +#!/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 + +su-exec shairport-sync shairport-sync $@ \ No newline at end of file diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 672639c9..abcce4bc 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -1,6 +1,5 @@ # Example docker compose config. -version: "3.8" services: shairport-sync: image: registry.nova.do/shairport-sync:unstable-development From 136d50f27aae4758a6cdb7f2491756523c8146d9 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 30 Jun 2021 21:02:44 +0100 Subject: [PATCH 02/21] Second attempt at additional airplay 1 build and releases process. --- .github/workflows/docker-build-releases.yaml | 4 ++-- .github/workflows/docker-build.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index 11716fe4..855d6a56 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -41,7 +41,7 @@ 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:latest, registry.nova.do/shairport-sync:${{ github.event.release.tag_name }} ] + tags: registry.nova.do/shairport-sync:latest registry.nova.do/shairport-sync:${{ github.event.release.tag_name }} build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. @@ -52,6 +52,6 @@ jobs: file: ./docker/airplay1/Dockerfile-AirPlay1 platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: [ registry.nova.do/shairport-sync:latest-airplay1, registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 ] + tags: registry.nova.do/shairport-sync:latest-airplay1 registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index f3aa91e3..0cd23b13 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -39,7 +39,7 @@ 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-${{ env.SHAIRPORT_SYNC_BRANCH }}] + tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }} build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. @@ -50,6 +50,6 @@ jobs: file: ./docker/airplay1/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: [registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1] + tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file From 165f1577599761e5f82424e3c9827955ccb353d2 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 30 Jun 2021 21:03:39 +0100 Subject: [PATCH 03/21] Renamed. --- .github/workflows/docker-build-releases.yaml | 2 +- .github/workflows/docker-build.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index 855d6a56..fef35d10 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -4,7 +4,7 @@ # 'latest' & 'latest-airplay1' # '[RELEASE TAG]' & '[RELEASE TAG]-airplay1' -name: Build and push docker images on release. +name: Build and push docker images on releases. on: release: diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index 0cd23b13..a6dacf47 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -2,7 +2,7 @@ # Tag pattern: 'unstable-[BRANCH NAME]'. # See docker-build-releases.yaml for release build process. -name: Build and push docker image based on specified branches. +name: Build and push docker image based on commit to specified branches. on: push: From be252e105238f0ecbc5305405484276249c1e6b2 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 30 Jun 2021 21:32:33 +0100 Subject: [PATCH 04/21] AirPlay 1 dockerfile path update. --- docker/airplay1/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/airplay1/Dockerfile b/docker/airplay1/Dockerfile index da564276..76b4d73b 100644 --- a/docker/airplay1/Dockerfile +++ b/docker/airplay1/Dockerfile @@ -97,6 +97,6 @@ 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 -COPY start.sh / +COPY ./docker/airplay1/start.sh / ENTRYPOINT [ "/start.sh" ] From cbd3051c9a50f272d1138cbccd0f411a1f360d76 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 30 Jun 2021 22:10:05 +0100 Subject: [PATCH 05/21] Added git submodule for airplay 1 docker build. --- docker/airplay1/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/airplay1/Dockerfile b/docker/airplay1/Dockerfile index 76b4d73b..3795352e 100644 --- a/docker/airplay1/Dockerfile +++ b/docker/airplay1/Dockerfile @@ -44,6 +44,8 @@ COPY --from=builder-alac /usr/local/include /usr/local/include WORKDIR shairport-sync COPY . . RUN git checkout "$SHAIRPORT_SYNC_BRANCH" +RUN git submodule init +RUN git submodule update RUN autoreconf -fi RUN ./configure \ --with-alsa \ From 6e7e47e66bdadf11c94fe2ee37002ecea20ab16d Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 1 Jul 2021 00:03:21 +0100 Subject: [PATCH 06/21] Test workflow. --- .github/workflows/docker-build-releases.yaml | 7 +++++++ .github/workflows/docker-build.yaml | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index fef35d10..d7c8f021 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -18,22 +18,28 @@ jobs: uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Set SHAIRPORT_SYNC_BRANCH env. run: echo "SHAIRPORT_SYNC_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV + - name: Set up ssh agent 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 uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 + - 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 uses: docker/build-push-action@v2 with: @@ -45,6 +51,7 @@ jobs: build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. + - name: Build and push (AirPlay 1) uses: docker/build-push-action@v2 with: diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index a6dacf47..5422b24a 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -16,22 +16,28 @@ jobs: uses: actions/checkout@v2 with: fetch-depth: 0 + - name: Set SHAIRPORT_SYNC_BRANCH env. run: echo "SHAIRPORT_SYNC_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV + - name: Set up ssh agent 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 uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 + - 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 uses: docker/build-push-action@v2 with: @@ -43,6 +49,7 @@ jobs: build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. + - name: Build and push (AirPlay 1) uses: docker/build-push-action@v2 with: @@ -50,6 +57,6 @@ jobs: file: ./docker/airplay1/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 + tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file From 7ac1a9768efbec66675fe8bdbaa182f12efc70c1 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 1 Jul 2021 00:21:57 +0100 Subject: [PATCH 07/21] Attempt at multiple tags. --- .github/workflows/docker-build-releases.yaml | 3 ++- .github/workflows/docker-build.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index d7c8f021..3ab06367 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -59,6 +59,7 @@ jobs: file: ./docker/airplay1/Dockerfile-AirPlay1 platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:latest-airplay1 registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 + tags: registry.nova.do/shairport-sync:latest-airplay1 + tags: registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index 5422b24a..10842c2e 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -57,6 +57,7 @@ jobs: file: ./docker/airplay1/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 + tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 + tags: registry.nova.do/shairport-sync:unstable-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file From 85b23228ea12b93b751d3a8edf16197116346d5c Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 1 Jul 2021 00:22:54 +0100 Subject: [PATCH 08/21] Attempt at multiple tags. --- .github/workflows/docker-build-releases.yaml | 3 +-- .github/workflows/docker-build.yaml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index 3ab06367..80e6d263 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -59,7 +59,6 @@ jobs: file: ./docker/airplay1/Dockerfile-AirPlay1 platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:latest-airplay1 - tags: registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 + tags: registry.nova.do/shairport-sync:latest-airplay1, registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index 10842c2e..1edb4457 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -57,7 +57,6 @@ jobs: file: ./docker/airplay1/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 - tags: registry.nova.do/shairport-sync:unstable-airplay1 + tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1, registry.nova.do/shairport-sync:unstable-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file From c0fd379a769cde5298dff4944407331be1a2de5e Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 1 Jul 2021 00:47:33 +0100 Subject: [PATCH 09/21] Working. --- .github/workflows/docker-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index 1edb4457..a5a5f68c 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -57,6 +57,6 @@ jobs: file: ./docker/airplay1/Dockerfile platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 push: true - tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1, registry.nova.do/shairport-sync:unstable-airplay1 + tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file From 6082fc82055683d0205fb7fcd218152552aedfc7 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 1 Jul 2021 10:10:05 +0100 Subject: [PATCH 10/21] Added chmod to dockerfile. --- docker/airplay1/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/airplay1/Dockerfile b/docker/airplay1/Dockerfile index 3795352e..8b21dba3 100644 --- a/docker/airplay1/Dockerfile +++ b/docker/airplay1/Dockerfile @@ -100,5 +100,6 @@ RUN adduser -D shairport-sync -G shairport-sync RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio COPY ./docker/airplay1/start.sh / +RUN chmod +x /start.sh ENTRYPOINT [ "/start.sh" ] From 8e231c7ed327317bba5f251c4704f7dab63f5e4e Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 7 Jul 2021 16:50:13 +0100 Subject: [PATCH 11/21] Remove submodule docker lines. --- docker/Dockerfile | 2 -- docker/airplay1/Dockerfile | 2 -- 2 files changed, 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 6da101a1..1203b1c6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -68,8 +68,6 @@ WORKDIR / WORKDIR /shairport-sync COPY . . RUN git checkout "$SHAIRPORT_SYNC_BRANCH" -RUN git submodule init -RUN git submodule update RUN autoreconf -fi # RUN ./configure \ # --with-alsa \ diff --git a/docker/airplay1/Dockerfile b/docker/airplay1/Dockerfile index 8b21dba3..e60fd0b5 100644 --- a/docker/airplay1/Dockerfile +++ b/docker/airplay1/Dockerfile @@ -44,8 +44,6 @@ COPY --from=builder-alac /usr/local/include /usr/local/include WORKDIR shairport-sync COPY . . RUN git checkout "$SHAIRPORT_SYNC_BRANCH" -RUN git submodule init -RUN git submodule update RUN autoreconf -fi RUN ./configure \ --with-alsa \ From ae9e91f16016e5b19ace23283650f2c1bfb9e892 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Tue, 13 Jul 2021 21:43:31 +0100 Subject: [PATCH 12/21] Create actions-stale.yaml --- .github/workflows/actions-stale.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/actions-stale.yaml diff --git a/.github/workflows/actions-stale.yaml b/.github/workflows/actions-stale.yaml new file mode 100644 index 00000000..3b0616f6 --- /dev/null +++ b/.github/workflows/actions-stale.yaml @@ -0,0 +1,16 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '* 8 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + with: + stale-issue-message: 'This issue has been inactive for 60 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.' + stale-pr-message: 'This PR has been inactive for 60 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.' + # These are the defaults at the time of writing. https://github.com/marketplace/actions/close-stale-issues + # days-before-stale: 60 + # days-before-close: 7 From ef23f92e45ffc0b7b0d6901b08ed7780ef563068 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 14 Jul 2021 22:52:43 +0100 Subject: [PATCH 13/21] Rename actions-stale.yaml to stale.yaml --- .github/workflows/{actions-stale.yaml => stale.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{actions-stale.yaml => stale.yaml} (100%) diff --git a/.github/workflows/actions-stale.yaml b/.github/workflows/stale.yaml similarity index 100% rename from .github/workflows/actions-stale.yaml rename to .github/workflows/stale.yaml From 61109e9bd597c8851f4abe35b0199ea329749cc4 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 14 Jul 2021 22:58:38 +0100 Subject: [PATCH 14/21] Added permissions. --- .github/workflows/stale.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml index 3b0616f6..9a755de2 100644 --- a/.github/workflows/stale.yaml +++ b/.github/workflows/stale.yaml @@ -3,6 +3,10 @@ on: schedule: - cron: '* 8 * * *' +permissions: + issues: write + pull-requests: write + jobs: stale: runs-on: ubuntu-latest From f4a0f4838a7ebef09ffb330af36f7f39f2e150cc Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 14 Jul 2021 22:59:50 +0100 Subject: [PATCH 15/21] Increase cron for stale action - test. --- .github/workflows/stale.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml index 9a755de2..96fdbe26 100644 --- a/.github/workflows/stale.yaml +++ b/.github/workflows/stale.yaml @@ -1,7 +1,7 @@ name: 'Close stale issues and PRs' on: schedule: - - cron: '* 8 * * *' + - cron: '*/5 * * * *' permissions: issues: write From e6bd20f851f10922f851cfb15fe96c170a04ad92 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Wed, 14 Jul 2021 23:32:40 +0100 Subject: [PATCH 16/21] Update version. --- .github/workflows/stale.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml index 96fdbe26..88a26e63 100644 --- a/.github/workflows/stale.yaml +++ b/.github/workflows/stale.yaml @@ -11,7 +11,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v3 + - uses: actions/stale@v4 with: stale-issue-message: 'This issue has been inactive for 60 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.' stale-pr-message: 'This PR has been inactive for 60 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.' From d59340b1ee2f769c5da00b8669279d6d3ebbe934 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 15 Jul 2021 00:07:49 +0100 Subject: [PATCH 17/21] Update stale.yaml --- .github/workflows/stale.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml index 88a26e63..be61da3d 100644 --- a/.github/workflows/stale.yaml +++ b/.github/workflows/stale.yaml @@ -1,7 +1,7 @@ name: 'Close stale issues and PRs' on: schedule: - - cron: '*/5 * * * *' + - cron: '0 0 * * *' permissions: issues: write From 3265f08840412a6b1c2ea59b1dff5b7357e3fd58 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 15 Jul 2021 12:39:56 +0100 Subject: [PATCH 18/21] Updates from public SPS repo. --- .github/workflows/docker-build-releases.yaml | 30 ++++++++++++-------- .github/workflows/docker-build.yaml | 30 ++++++++++++-------- docker/Dockerfile | 13 ++++----- docker/README.md | 14 +++++++-- docker/airplay1/README.md | 2 +- docker/docker-compose.yaml | 2 +- 6 files changed, 55 insertions(+), 36 deletions(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index 80e6d263..ef355fa8 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -8,8 +8,11 @@ name: Build and push docker images on releases. on: release: - types: [ published ] + types: [ ] +env: + DOCKER_PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + jobs: main: runs-on: ubuntu-latest @@ -22,11 +25,14 @@ jobs: - name: Set SHAIRPORT_SYNC_BRANCH env. run: echo "SHAIRPORT_SYNC_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV - - name: Set up ssh agent - 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: Determine NQPTP env (part 1). + if: ${{ env.SHAIRPORT_SYNC_BRANCH == 'development' }} + run: echo "NQPTP_BRANCH=development" >> $GITHUB_ENV + + - name: Determine NQPTP env (part 2). + if: ${{ env.SHAIRPORT_SYNC_BRANCH != 'development' }} + run: echo "NQPTP_BRANCH=master" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v1 @@ -36,7 +42,7 @@ jobs: - name: Login to Docker Registry uses: docker/login-action@v1 with: - registry: registry.nova.do + registry: ${{ secrets.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_REGISTRY_USER }} password: ${{ secrets.DOCKER_REGISTRY_TOKEN }} @@ -45,20 +51,20 @@ jobs: with: context: ./ file: ./docker/Dockerfile - platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + platforms: ${{ env.PLATFORMS }} push: true - tags: registry.nova.do/shairport-sync:latest registry.nova.do/shairport-sync:${{ github.event.release.tag_name }} + tags: ${{ secrets.DOCKER_IMAGE_NAME }}:latest ${{ secrets.DOCKER_IMAGE_NAME }}:${{ github.event.release.tag_name }} build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} - ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. + NQPTP_BRANCH=${{ env.NQPTP_BRANCH }} - name: Build and push (AirPlay 1) uses: docker/build-push-action@v2 with: context: ./ file: ./docker/airplay1/Dockerfile-AirPlay1 - platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + platforms: ${{ env.PLATFORMS }} push: true - tags: registry.nova.do/shairport-sync:latest-airplay1, registry.nova.do/shairport-sync:${{ github.event.release.tag_name }}-airplay1 + tags: ${{ secrets.DOCKER_IMAGE_NAME }}:latest-airplay1, ${{ secrets.DOCKER_IMAGE_NAME }}:${{ github.event.release.tag_name }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index a5a5f68c..27cb0342 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -1,5 +1,5 @@ # Builds & pushes a docker image when a commit is made to one of the branches specified below. -# Tag pattern: 'unstable-[BRANCH NAME]'. +# Tag pattern: 'unstable-[BRANCH NAME]' & 'unstable-[BRANCH NAME]-airplay1' # See docker-build-releases.yaml for release build process. name: Build and push docker image based on commit to specified branches. @@ -7,6 +7,9 @@ name: Build and push docker image based on commit to specified branches. on: push: branches: [ master, development, charles-dev ] + +env: + DOCKER_PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 jobs: main: @@ -20,11 +23,14 @@ jobs: - name: Set SHAIRPORT_SYNC_BRANCH env. run: echo "SHAIRPORT_SYNC_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV - - name: Set up ssh agent - 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: Determine NQPTP env (part 1). + if: ${{ env.SHAIRPORT_SYNC_BRANCH == 'development' }} + run: echo "NQPTP_BRANCH=development" >> $GITHUB_ENV + + - name: Determine NQPTP env (part 2). + if: ${{ env.SHAIRPORT_SYNC_BRANCH != 'development' }} + run: echo "NQPTP_BRANCH=master" >> $GITHUB_ENV + - name: Set up QEMU uses: docker/setup-qemu-action@v1 @@ -34,7 +40,7 @@ jobs: - name: Login to Docker Registry uses: docker/login-action@v1 with: - registry: registry.nova.do + registry: ${{ secrets.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_REGISTRY_USER }} password: ${{ secrets.DOCKER_REGISTRY_TOKEN }} @@ -43,20 +49,20 @@ jobs: with: context: ./ file: ./docker/Dockerfile - platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + platforms: ${{ env.DOCKER_PLATFORMS }} push: true - tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }} + tags: ${{ secrets.DOCKER_IMAGE_NAME }}:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }} build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} - ssh: default=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos. + NQPTP_BRANCH=${{ env.NQPTP_BRANCH }} - name: Build and push (AirPlay 1) uses: docker/build-push-action@v2 with: context: ./ file: ./docker/airplay1/Dockerfile - platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 + platforms: ${{ env.DOCKER_PLATFORMS }} push: true - tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 + tags: ${{ secrets.DOCKER_IMAGE_NAME }}:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}-airplay1 build-args: | SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 1203b1c6..98a3900c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -43,22 +43,21 @@ RUN make install # Shairport Sync Build System: FROM builder-base AS builder-sps -# This will be modified by the Github Action Workflow and is required -# to ensure the correct branch is being used. +# These will be modified by the Github Action Workflow and are required +# to ensure the correct branches are being used. ARG SHAIRPORT_SYNC_BRANCH RUN test -n "$SHAIRPORT_SYNC_BRANCH" +ARG NQPTP_BRANCH +RUN test -n "$NQPTP_BRANCH" 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 -# 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 git clone git@github.com:mikebrady/nqptp.git +RUN git clone https://github.com/mikebrady/nqptp WORKDIR /nqptp # Use development branch for now. -RUN git checkout development +RUN git checkout "$NQPTP_BRANCH" RUN autoreconf -fi RUN ./configure RUN make diff --git a/docker/README.md b/docker/README.md index ccb691a2..6043cc44 100644 --- a/docker/README.md +++ b/docker/README.md @@ -28,12 +28,20 @@ Edit the configuration file `/etc/shairport-sync.conf` in the container (or use ## Build Example (for arm7 devices) -TODO: remove `--ssh` when going public as this is only for private repos. ``` -docker buildx build --ssh default=$SSH_AUTH_SOCK --platform linux/arm/v7 -f ./docker/Dockerfile --build-arg SHAIRPORT_SYNC_BRANCH=development -t registry.nova.do/shairport-sync:unstable-development . +docker buildx build --platform linux/arm/v7 -f ./docker/Dockerfile --build-arg SHAIRPORT_SYNC_BRANCH=development --build-arg NQPTP_BRANCH=development -t shairport-sync:unstable-development . ``` `SHAIRPORT_SYNC_BRANCH` is required to ensure the image is built using the expected branch. ## AirPlay 1 Only -The AirPlay1 only dockerfile is in the `airplay1` folder. This also includes the `start.sh` script used by the container. \ No newline at end of file + +The AirPlay1 only dockerfile is in the `airplay1` folder. This also includes the `start.sh` script used by the container. Please note that the AirPlay 1 image build via the AirPlay 2 branch does not work with multiple instances on the same hardware. + +## GitHub Action Builds + +Requires the following secrets to be set in the repo: +- `DOCKER_REGISTRY` - docker.io if using Docker Hub, else set to your registry URL. +- `DOCKER_REGISTRY_TOKEN` - Access token for your registry. +- `DOCKER_REGISTRY_USER` - Login user for your registry. +- `DOCKER_IMAGE_NAME` - The name of the image, for example `your-registry.com/shairport-sync` or just `your-username/shairport-sync` if using Docker Hub. \ No newline at end of file diff --git a/docker/airplay1/README.md b/docker/airplay1/README.md index 247754e6..f8335d76 100644 --- a/docker/airplay1/README.md +++ b/docker/airplay1/README.md @@ -1,3 +1,3 @@ # AirPlay 1 Only Docker Image -See the [Shairport Sync Docker Hub Repo](https://hub.docker.com/r/mikebrady/shairport-sync) for available tags. For the latest build, use `latest-airplay1`. \ No newline at end of file +See the [Shairport Sync Docker Hub Repo](https://hub.docker.com/r/mikebrady/shairport-sync) for available tags. diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index abcce4bc..74ed09ac 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -2,7 +2,7 @@ services: shairport-sync: - image: registry.nova.do/shairport-sync:unstable-development + image: mikebrady/shairport-sync:unstable-development network_mode: host restart: unless-stopped devices: From df9c6b4fa0e27328be5f4665d5d5d09ddd2c4cd7 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 15 Jul 2021 12:44:58 +0100 Subject: [PATCH 19/21] Use 'main' branch instead of 'master' for nqptp. --- .github/workflows/docker-build-releases.yaml | 2 +- .github/workflows/docker-build.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-releases.yaml b/.github/workflows/docker-build-releases.yaml index ef355fa8..6894a0e7 100644 --- a/.github/workflows/docker-build-releases.yaml +++ b/.github/workflows/docker-build-releases.yaml @@ -31,7 +31,7 @@ jobs: - name: Determine NQPTP env (part 2). if: ${{ env.SHAIRPORT_SYNC_BRANCH != 'development' }} - run: echo "NQPTP_BRANCH=master" >> $GITHUB_ENV + run: echo "NQPTP_BRANCH=main" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v1 diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index 27cb0342..33b1c8e0 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -29,7 +29,7 @@ jobs: - name: Determine NQPTP env (part 2). if: ${{ env.SHAIRPORT_SYNC_BRANCH != 'development' }} - run: echo "NQPTP_BRANCH=master" >> $GITHUB_ENV + run: echo "NQPTP_BRANCH=main" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v1 From ac5e4eba2f9f746567e6ffa0623926b9e1545e8f Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 15 Jul 2021 13:42:33 +0100 Subject: [PATCH 20/21] Comment change. --- docker/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/start.sh b/docker/start.sh index bb790283..7221417a 100644 --- a/docker/start.sh +++ b/docker/start.sh @@ -10,7 +10,7 @@ dbus-daemon --system avahi-daemon --daemonize --no-chroot -# TODO: This should probably be implemented in a better way and using the correct nqptp group. +# TODO: This should probably be implemented in a better way. nqptp & # su-exec shairport-sync shairport-sync $@ From 07569a5786f991d08779b04d318a6744d0bc1082 Mon Sep 17 00:00:00 2001 From: Charles <32498151+charlesomer@users.noreply.github.com> Date: Thu, 15 Jul 2021 14:01:09 +0100 Subject: [PATCH 21/21] Try again with updated secret. --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b7d5ff89..41d81e74 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1 @@ -custom: [paypal.me/UMBr] +custom: [paypal.me/UMBr] \ No newline at end of file