Skip to content

Commit a75d28a

Browse files
committed
Switch from yarn to pnpm for build
1 parent 9ab55ff commit a75d28a

3 files changed

Lines changed: 21 additions & 50 deletions

File tree

Dockerfile

Lines changed: 17 additions & 32 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.22 AS buildbase
3+
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22 AS buildbase
44

55
# set version label
66
ARG BUILD_DATE
@@ -14,9 +14,10 @@ RUN \
1414
apk -U --update --no-cache add --virtual=build-dependencies \
1515
build-base \
1616
cmake \
17+
curl \
1718
npm \
18-
python3-dev \
19-
yarn && \
19+
python3-dev && \
20+
npm install -g pnpm typescript && \
2021
echo "*** install your_spotify ***" && \
2122
if [ -z ${YOUR_SPOTIFY_VERSION+x} ]; then \
2223
YOUR_SPOTIFY_VERSION=$(curl -sX GET "https://api.github.com/repos/Yooooomi/your_spotify/releases/latest" \
@@ -36,23 +37,23 @@ RUN \
3637
echo "*** install your_spotify client ***" && \
3738
cd /app/www && \
3839
rm -rf /app/www/apps/server && \
39-
yarn --frozen-lockfile && \
40+
CI=true pnpm install --frozen-lockfile && \
4041
cd /app/www/apps/client && \
41-
yarn build && \
42-
rm -rf /app/www/node_modules && \
43-
yarn cache clean
42+
pnpm typecheck && \
43+
pnpm build
4444

4545
FROM buildbase AS buildserver
4646

4747
RUN \
4848
echo "*** install your_spotify server ***" && \
4949
cd /app/www && \
50-
rm -rf /app/www/apps/client && \
51-
yarn --frozen-lockfile && \
50+
CI=true pnpm install --frozen-lockfile && \
5251
cd /app/www/apps/server && \
53-
yarn build && \
54-
rm -rf /app/www/node_modules && \
55-
yarn cache clean
52+
rm eslint.config.mts && \
53+
pnpm typecheck && \
54+
pnpm build && \
55+
rm -rf node_modules && \
56+
NODE_ENV=production CI=true pnpm install --production --frozen-lockfile
5657

5758
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22
5859

@@ -62,34 +63,18 @@ ARG YOUR_SPOTIFY_VERSION
6263
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
6364
LABEL maintainer="thespad"
6465

65-
ENV HOME=/app
66+
ENV HOME=/app \
67+
NODE_ENV=production
6668

6769
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
70+
COPY --from=buildserver /app/www/apps/server/build/ /app/www/apps/server/build/
7271

7372
RUN \
74-
echo "**** install build packages ****" && \
75-
apk -U --update --no-cache add --virtual=build-dependencies \
76-
build-base \
77-
cmake \
78-
python3-dev && \
7973
echo "**** install runtime packages ****" && \
8074
apk add -U --update --no-cache \
81-
nodejs \
82-
npm \
83-
yarn && \
84-
echo "**** install your_spotify ****" && \
85-
cd /app/www/apps/server && \
86-
yarn --production --frozen-lockfile && \
87-
yarn cache clean && \
88-
npm install -g serve && \
75+
nodejs && \
8976
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
9077
echo "**** cleanup ****" && \
91-
apk del --purge \
92-
build-dependencies && \
9378
rm -rf \
9479
/tmp/* \
9580
$HOME/.cache \

Dockerfile.aarch64

Lines changed: 2 additions & 16 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.22 as buildbase
3+
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.22 AS buildbase
44

55
# set version label
66
ARG BUILD_DATE
@@ -65,31 +65,17 @@ LABEL maintainer="thespad"
6565
ENV HOME=/app
6666

6767
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
68+
COPY --from=buildserver /app/www/apps/server/build/ /app/www/apps/server/build/
7269

7370
RUN \
74-
echo "**** install build packages ****" && \
75-
apk -U --update --no-cache add --virtual=build-dependencies \
76-
build-base \
77-
cmake \
78-
python3-dev && \
7971
echo "**** install runtime packages ****" && \
8072
apk add -U --update --no-cache \
8173
nodejs \
8274
npm \
8375
yarn && \
84-
echo "**** install your_spotify ****" && \
85-
cd /app/www/apps/server && \
86-
yarn --production --frozen-lockfile && \
87-
yarn cache clean && \
8876
npm install -g serve && \
8977
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
9078
echo "**** cleanup ****" && \
91-
apk del --purge \
92-
build-dependencies && \
9379
rm -rf \
9480
/tmp/* \
9581
$HOME/.cache \

root/etc/s6-overlay/s6-rc.d/svc-your_spotify/run

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
export API_ENDPOINT="${APP_URL}/api"
55
export CLIENT_ENDPOINT="${APP_URL}"
66

7-
s6-setuidgid abc yarn --cwd /app/www/apps/server migrate
7+
( cd /app/www/apps/server && s6-setuidgid abc node /app/www/apps/server/build/index.js --migrate )
88

99
exec \
1010
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8080" \
11-
cd /app/www/apps/server s6-setuidgid abc yarn start
11+
cd /app/www/apps/server s6-setuidgid abc node /app/www/apps/server/build/index.js

0 commit comments

Comments
 (0)