From b05f28cc54c230e0ba45ddc521e26c84a485c374 Mon Sep 17 00:00:00 2001 From: "Timothy Z." Date: Sun, 12 Oct 2025 00:44:39 +0300 Subject: [PATCH 1/2] fix(docker): update dockerfile with pnpm --- Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index a0a3c597a..83e6cf489 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,11 +13,13 @@ WORKDIR /var/www/stremio-web FROM base AS prebuild RUN apk update && apk upgrade && \ - apk add --no-cache git + apk add --no-cache git \ + && npm install -g pnpm WORKDIR /var/www/stremio-web COPY . . -RUN npm install -RUN npm run build +ENV CI=true +RUN pnpm install +RUN pnpm run build # Bundle app source FROM base AS final From 1b6f4d09d37e036635ffc01a5cc6a8545f341ca8 Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 24 Oct 2025 13:43:50 +0200 Subject: [PATCH 2/2] build: update Dockerfile --- Dockerfile | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 83e6cf489..ff664c3ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,31 +3,39 @@ ARG NODE_VERSION=20-alpine FROM node:$NODE_VERSION AS base +# Setup pnpm +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" + +RUN corepack enable +RUN apk add --no-cache git + # Meta LABEL Description="Stremio Web" Vendor="Smart Code OOD" Version="1.0.0" RUN mkdir -p /var/www/stremio-web WORKDIR /var/www/stremio-web -# Install app dependencies -FROM base AS prebuild +# Setup app +FROM base AS app -RUN apk update && apk upgrade && \ - apk add --no-cache git \ - && npm install -g pnpm -WORKDIR /var/www/stremio-web -COPY . . -ENV CI=true -RUN pnpm install +COPY pnpm-lock.yaml /var/www/stremio-web +RUN pnpm fetch --prod + +COPY . /var/www/stremio-web RUN pnpm run build -# Bundle app source -FROM base AS final +# Setup server +FROM base AS server -WORKDIR /var/www/stremio-web -COPY . . -COPY --from=prebuild /var/www/stremio-web/node_modules ./node_modules -COPY --from=prebuild /var/www/stremio-web/build ./build +RUN pnpm i express@4 + +# Finalize +FROM base + +COPY http_server.js /var/www/stremio-web +COPY --from=server /var/www/stremio-web/node_modules /var/www/stremio-web/node_modules +COPY --from=app /var/www/stremio-web/build /var/www/stremio-web/build EXPOSE 8080 CMD ["node", "http_server.js"]