diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..d76530c --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,19 @@ +FROM node:25-alpine3.21 AS build + +WORKDIR /usr/src/build +COPY . /usr/src/build + +RUN npm i +RUN npm run build + + +# Prod build with fewer deps +FROM node:25-alpine3.21 AS prod + +WORKDIR /usr/src/musicplayer +COPY --from=build /usr/src/build/dist /usr/src/musicplayer/dist +COPY ./index.js /usr/src/musicplayer/index.js + +RUN npm i --omit=dev + +CMD [ "node", "index.js" ] diff --git a/web/Dockerfile b/web/Dockerfile new file mode 100644 index 0000000..97431aa --- /dev/null +++ b/web/Dockerfile @@ -0,0 +1,15 @@ +FROM node:25-alpine3.21 AS build + +# Frontend Build stage +WORKDIR /usr/src/build + +COPY . /usr/src/build + +RUN npm i +RUN npm run build + +# Build final image +FROM nginx AS prod +COPY --from=build /usr/src/build/dist /usr/share/nginx/html +COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf +EXPOSE 3000