Skip to content

Commit 2a4e801

Browse files
authored
Merge pull request #23 from linuxserver/buildfix
Build server and client separately
2 parents 1e0f843 + b41a8d0 commit 2a4e801

2 files changed

Lines changed: 44 additions & 24 deletions

File tree

Dockerfile

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:3.21 as buildstage
3+
FROM ghcr.io/linuxserver/baseimage-alpine:3.21 AS buildbase
44

55
# set version label
66
ARG BUILD_DATE
@@ -28,21 +28,31 @@ RUN \
2828
mkdir -p /app/www && \
2929
tar xzf \
3030
/tmp/your_spotify.tar.gz -C \
31-
/app/www/ --strip-components=1 && \
31+
/app/www/ --strip-components=1
32+
33+
FROM buildbase AS buildclient
34+
35+
RUN \
3236
echo "*** install your_spotify client ***" && \
3337
cd /app/www && \
38+
rm -rf /app/www/apps/server && \
3439
yarn --frozen-lockfile && \
3540
cd /app/www/apps/client && \
3641
yarn build && \
42+
rm -rf /app/www/node_modules && \
43+
yarn cache clean
44+
45+
FROM buildbase AS buildserver
46+
47+
RUN \
3748
echo "*** install your_spotify server ***" && \
49+
cd /app/www && \
50+
rm -rf /app/www/apps/client && \
51+
yarn --frozen-lockfile && \
3852
cd /app/www/apps/server && \
3953
yarn build && \
4054
rm -rf /app/www/node_modules && \
41-
yarn cache clean && \
42-
apk del --purge \
43-
build-dependencies && \
44-
rm -rf \
45-
/tmp/*
55+
yarn cache clean
4656

4757
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.21
4858

@@ -54,11 +64,11 @@ LABEL maintainer="thespad"
5464

5565
ENV HOME=/app
5666

57-
COPY --from=buildstage /app/www/apps/client/build/ /app/www/apps/client/build/
58-
COPY --from=buildstage /app/www/package.json /app/www/package.json
59-
COPY --from=buildstage /app/www/yarn.lock /app/www/yarn.lock
60-
COPY --from=buildstage /app/www/apps/server/lib/ /app/www/apps/server/lib/
61-
COPY --from=buildstage /app/www/apps/server/package.json /app/www/apps/server/package.json
67+
COPY --from=buildclient /app/www/apps/client/build/ /app/www/apps/client/build/
68+
COPY --from=buildbase /app/www/package.json /app/www/package.json
69+
COPY --from=buildbase /app/www/yarn.lock /app/www/yarn.lock
70+
COPY --from=buildserver /app/www/apps/server/lib/ /app/www/apps/server/lib/
71+
COPY --from=buildserver /app/www/apps/server/package.json /app/www/apps/server/package.json
6272

6373
RUN \
6474
echo "**** install build packages ****" && \

Dockerfile.aarch64

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21 as buildstage
3+
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21 as buildbase
44

55
# set version label
66
ARG BUILD_DATE
@@ -28,21 +28,31 @@ RUN \
2828
mkdir -p /app/www && \
2929
tar xzf \
3030
/tmp/your_spotify.tar.gz -C \
31-
/app/www/ --strip-components=1 && \
31+
/app/www/ --strip-components=1
32+
33+
FROM buildbase AS buildclient
34+
35+
RUN \
3236
echo "*** install your_spotify client ***" && \
3337
cd /app/www && \
38+
rm -rf /app/www/apps/server && \
3439
yarn --frozen-lockfile && \
3540
cd /app/www/apps/client && \
3641
yarn build && \
42+
rm -rf /app/www/node_modules && \
43+
yarn cache clean
44+
45+
FROM buildbase AS buildserver
46+
47+
RUN \
3748
echo "*** install your_spotify server ***" && \
49+
cd /app/www && \
50+
rm -rf /app/www/apps/client && \
51+
yarn --frozen-lockfile && \
3852
cd /app/www/apps/server && \
3953
yarn build && \
4054
rm -rf /app/www/node_modules && \
41-
yarn cache clean && \
42-
apk del --purge \
43-
build-dependencies && \
44-
rm -rf \
45-
/tmp/*
55+
yarn cache clean
4656

4757
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.21
4858

@@ -54,11 +64,11 @@ LABEL maintainer="thespad"
5464

5565
ENV HOME=/app
5666

57-
COPY --from=buildstage /app/www/apps/client/build/ /app/www/apps/client/build/
58-
COPY --from=buildstage /app/www/package.json /app/www/package.json
59-
COPY --from=buildstage /app/www/yarn.lock /app/www/yarn.lock
60-
COPY --from=buildstage /app/www/apps/server/lib/ /app/www/apps/server/lib/
61-
COPY --from=buildstage /app/www/apps/server/package.json /app/www/apps/server/package.json
67+
COPY --from=buildclient /app/www/apps/client/build/ /app/www/apps/client/build/
68+
COPY --from=buildbase /app/www/package.json /app/www/package.json
69+
COPY --from=buildbase /app/www/yarn.lock /app/www/yarn.lock
70+
COPY --from=buildserver /app/www/apps/server/lib/ /app/www/apps/server/lib/
71+
COPY --from=buildserver /app/www/apps/server/package.json /app/www/apps/server/package.json
6272

6373
RUN \
6474
echo "**** install build packages ****" && \

0 commit comments

Comments
 (0)