From bf886de2603d3a236c17381202721b9aa16dc1bd Mon Sep 17 00:00:00 2001 From: Semyon Date: Tue, 11 Aug 2026 09:27:32 +0300 Subject: [PATCH] polish system status --- Dockerfile | 28 ++++++++++++++++++++++++++++ compose.yaml | 21 +++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 Dockerfile create mode 100644 compose.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..574f98c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +FROM node:22-bookworm-slim AS builder + +WORKDIR /app + +COPY package*.json ./ + +RUN npm ci + +COPY . . + +RUN npm run build + + +FROM node:22-bookworm-slim AS runner + +WORKDIR /app + +ENV NODE_ENV=production +ENV HOST=0.0.0.0 +ENV PORT=4321 + +COPY --from=builder /app/package*.json ./ +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/dist ./dist + +EXPOSE 4321 + +CMD ["node", "./dist/server/entry.mjs"] diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..2079f66 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,21 @@ +services: + portfolio: + build: + context: . + dockerfile: Dockerfile + container_name: semyon-portfolio + restart: unless-stopped + env_file: + - .env + environment: + NODE_ENV: production + HOST: 0.0.0.0 + PORT: 4321 + expose: + - "4321" + networks: + - web + +networks: + web: + name: portfolio_web