Skip to content

Commit 5d088e5

Browse files
authored
Merge pull request #25 from linuxserver/pnpm
2 parents 9ab55ff + 4c88a9c commit 5d088e5

File tree

3 files changed

+33
-65
lines changed

3 files changed

+33
-65
lines changed

Dockerfile

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ RUN \
1515
build-base \
1616
cmake \
1717
npm \
18-
python3-dev \
19-
yarn && \
18+
python3 && \
19+
npm install -g pnpm typescript && \
2020
echo "*** install your_spotify ***" && \
2121
if [ -z ${YOUR_SPOTIFY_VERSION+x} ]; then \
2222
YOUR_SPOTIFY_VERSION=$(curl -sX GET "https://api.github.com/repos/Yooooomi/your_spotify/releases/latest" \
@@ -36,23 +36,23 @@ RUN \
3636
echo "*** install your_spotify client ***" && \
3737
cd /app/www && \
3838
rm -rf /app/www/apps/server && \
39-
yarn --frozen-lockfile && \
39+
CI=true pnpm install --frozen-lockfile && \
4040
cd /app/www/apps/client && \
41-
yarn build && \
42-
rm -rf /app/www/node_modules && \
43-
yarn cache clean
41+
pnpm typecheck && \
42+
pnpm build
4443

4544
FROM buildbase AS buildserver
4645

4746
RUN \
4847
echo "*** install your_spotify server ***" && \
4948
cd /app/www && \
50-
rm -rf /app/www/apps/client && \
51-
yarn --frozen-lockfile && \
49+
CI=true pnpm install --frozen-lockfile && \
5250
cd /app/www/apps/server && \
53-
yarn build && \
54-
rm -rf /app/www/node_modules && \
55-
yarn cache clean
51+
rm eslint.config.mts && \
52+
pnpm typecheck && \
53+
pnpm build && \
54+
rm -rf node_modules && \
55+
NODE_ENV=production CI=true pnpm install --production --frozen-lockfile
5656

5757
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.22
5858

@@ -62,34 +62,18 @@ ARG YOUR_SPOTIFY_VERSION
6262
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
6363
LABEL maintainer="thespad"
6464

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

6768
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
69+
COPY --from=buildserver /app/www/apps/server/build/ /app/www/apps/server/build/
7270

7371
RUN \
74-
echo "**** install build packages ****" && \
75-
apk -U --update --no-cache add --virtual=build-dependencies \
76-
build-base \
77-
cmake \
78-
python3-dev && \
7972
echo "**** install runtime packages ****" && \
8073
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 && \
74+
nodejs && \
8975
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
9076
echo "**** cleanup ****" && \
91-
apk del --purge \
92-
build-dependencies && \
9377
rm -rf \
9478
/tmp/* \
9579
$HOME/.cache \

Dockerfile.aarch64

Lines changed: 16 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: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
@@ -15,8 +15,8 @@ RUN \
1515
build-base \
1616
cmake \
1717
npm \
18-
python3-dev \
19-
yarn && \
18+
python3 && \
19+
npm install -g pnpm typescript && \
2020
echo "*** install your_spotify ***" && \
2121
if [ -z ${YOUR_SPOTIFY_VERSION+x} ]; then \
2222
YOUR_SPOTIFY_VERSION=$(curl -sX GET "https://api.github.com/repos/Yooooomi/your_spotify/releases/latest" \
@@ -36,23 +36,23 @@ RUN \
3636
echo "*** install your_spotify client ***" && \
3737
cd /app/www && \
3838
rm -rf /app/www/apps/server && \
39-
yarn --frozen-lockfile && \
39+
CI=true pnpm install --frozen-lockfile && \
4040
cd /app/www/apps/client && \
41-
yarn build && \
42-
rm -rf /app/www/node_modules && \
43-
yarn cache clean
41+
pnpm typecheck && \
42+
pnpm build
4443

4544
FROM buildbase AS buildserver
4645

4746
RUN \
4847
echo "*** install your_spotify server ***" && \
4948
cd /app/www && \
50-
rm -rf /app/www/apps/client && \
51-
yarn --frozen-lockfile && \
49+
CI=true pnpm install --frozen-lockfile && \
5250
cd /app/www/apps/server && \
53-
yarn build && \
54-
rm -rf /app/www/node_modules && \
55-
yarn cache clean
51+
rm eslint.config.mts && \
52+
pnpm typecheck && \
53+
pnpm build && \
54+
rm -rf node_modules && \
55+
NODE_ENV=production CI=true pnpm install --production --frozen-lockfile
5656

5757
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.22
5858

@@ -62,34 +62,18 @@ ARG YOUR_SPOTIFY_VERSION
6262
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
6363
LABEL maintainer="thespad"
6464

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

6768
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
69+
COPY --from=buildserver /app/www/apps/server/build/ /app/www/apps/server/build/
7270

7371
RUN \
74-
echo "**** install build packages ****" && \
75-
apk -U --update --no-cache add --virtual=build-dependencies \
76-
build-base \
77-
cmake \
78-
python3-dev && \
7972
echo "**** install runtime packages ****" && \
8073
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 && \
74+
nodejs && \
8975
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
9076
echo "**** cleanup ****" && \
91-
apk del --purge \
92-
build-dependencies && \
9377
rm -rf \
9478
/tmp/* \
9579
$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)