diff --git a/Dockerfile b/Dockerfile index a0a3c597a..ff664c3ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,29 +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 -WORKDIR /var/www/stremio-web -COPY . . -RUN npm install -RUN npm run build +COPY pnpm-lock.yaml /var/www/stremio-web +RUN pnpm fetch --prod -# Bundle app source -FROM base AS final +COPY . /var/www/stremio-web +RUN pnpm run build -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 +# Setup server +FROM base AS server + +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"]