From 2c3df4032bce1bdc16184897efd69cc9651731fd Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Wed, 23 Apr 2025 10:35:36 -0400 Subject: [PATCH 1/2] Build server and client separately They seem to have dep conflicts that break each other --- Dockerfile | 34 ++++++++++++++++++++++------------ Dockerfile.aarch64 | 32 +++++++++++++++++++++----------- 2 files changed, 43 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index e73bcde..f14c8d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:3.21 as buildstage +FROM ghcr.io/linuxserver/baseimage-alpine:3.21 AS buildbase # set version label ARG BUILD_DATE @@ -28,21 +28,31 @@ RUN \ mkdir -p /app/www && \ tar xzf \ /tmp/your_spotify.tar.gz -C \ - /app/www/ --strip-components=1 && \ + /app/www/ --strip-components=1 + +FROM buildbase AS buildclient + +RUN \ echo "*** install your_spotify client ***" && \ cd /app/www && \ + rm -rf /app/www/apps/server && \ yarn --frozen-lockfile && \ cd /app/www/apps/client && \ yarn build && \ + rm -rf /app/www/node_modules && \ + yarn cache clean + +FROM buildbase AS buildserver + +RUN \ echo "*** install your_spotify server ***" && \ + cd /app/www && \ + rm -rf /app/www/apps/client && \ + yarn --frozen-lockfile && \ cd /app/www/apps/server && \ yarn build && \ rm -rf /app/www/node_modules && \ - yarn cache clean && \ - apk del --purge \ - build-dependencies && \ - rm -rf \ - /tmp/* + yarn cache clean FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.21 @@ -54,11 +64,11 @@ LABEL maintainer="thespad" ENV HOME=/app -COPY --from=buildstage /app/www/apps/client/build/ /app/www/apps/client/build/ -COPY --from=buildstage /app/www/package.json /app/www/package.json -COPY --from=buildstage /app/www/yarn.lock /app/www/yarn.lock -COPY --from=buildstage /app/www/apps/server/lib/ /app/www/apps/server/lib/ -COPY --from=buildstage /app/www/apps/server/package.json /app/www/apps/server/package.json +COPY --from=buildclient /app/www/apps/client/build/ /app/www/apps/client/build/ +COPY --from=buildbase /app/www/package.json /app/www/package.json +COPY --from=buildbase /app/www/yarn.lock /app/www/yarn.lock +COPY --from=buildserver /app/www/apps/server/lib/ /app/www/apps/server/lib/ +COPY --from=buildserver /app/www/apps/server/package.json /app/www/apps/server/package.json RUN \ echo "**** install build packages ****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 29db42b..cdc0620 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -28,21 +28,31 @@ RUN \ mkdir -p /app/www && \ tar xzf \ /tmp/your_spotify.tar.gz -C \ - /app/www/ --strip-components=1 && \ + /app/www/ --strip-components=1 + +FROM buildbase AS buildclient + +RUN \ echo "*** install your_spotify client ***" && \ cd /app/www && \ + rm -rf /app/www/apps/server && \ yarn --frozen-lockfile && \ cd /app/www/apps/client && \ yarn build && \ + rm -rf /app/www/node_modules && \ + yarn cache clean + +FROM buildbase AS buildserver + +RUN \ echo "*** install your_spotify server ***" && \ + cd /app/www && \ + rm -rf /app/www/apps/client && \ + yarn --frozen-lockfile && \ cd /app/www/apps/server && \ yarn build && \ rm -rf /app/www/node_modules && \ - yarn cache clean && \ - apk del --purge \ - build-dependencies && \ - rm -rf \ - /tmp/* + yarn cache clean FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.21 @@ -54,11 +64,11 @@ LABEL maintainer="thespad" ENV HOME=/app -COPY --from=buildstage /app/www/apps/client/build/ /app/www/apps/client/build/ -COPY --from=buildstage /app/www/package.json /app/www/package.json -COPY --from=buildstage /app/www/yarn.lock /app/www/yarn.lock -COPY --from=buildstage /app/www/apps/server/lib/ /app/www/apps/server/lib/ -COPY --from=buildstage /app/www/apps/server/package.json /app/www/apps/server/package.json +COPY --from=buildclient /app/www/apps/client/build/ /app/www/apps/client/build/ +COPY --from=buildbase /app/www/package.json /app/www/package.json +COPY --from=buildbase /app/www/yarn.lock /app/www/yarn.lock +COPY --from=buildserver /app/www/apps/server/lib/ /app/www/apps/server/lib/ +COPY --from=buildserver /app/www/apps/server/package.json /app/www/apps/server/package.json RUN \ echo "**** install build packages ****" && \ From b41a8d0e5b0e52ff1c0bace97c134606ebfb6f11 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Wed, 23 Apr 2025 10:41:46 -0400 Subject: [PATCH 2/2] typo fix --- Dockerfile.aarch64 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index cdc0620..ed5629b 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21 as buildstage +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21 as buildbase # set version label ARG BUILD_DATE