From 778f54055d5829b09a71a0938fd868ff3fb38d09 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Wed, 2 Sep 2026 15:41:49 +0200 Subject: [PATCH] chore: basic dockerfiles --- backend/Dockerfile | 19 +++++++++++++++++++ web/Dockerfile | 15 +++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 backend/Dockerfile create mode 100644 web/Dockerfile 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