From d8d38c1cb5fbcd7d6750e60ea1201f10e774f609 Mon Sep 17 00:00:00 2001 From: GauthierWebDev Date: Thu, 17 Apr 2025 14:06:24 +0200 Subject: [PATCH] feat: Add production Docker configuration for memento service --- compose-prod.yml | 11 +++++++++++ pnpm.Dockerfile | 2 +- production.Dockerfile | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 compose-prod.yml create mode 100644 production.Dockerfile diff --git a/compose-prod.yml b/compose-prod.yml new file mode 100644 index 0000000..8a60c1e --- /dev/null +++ b/compose-prod.yml @@ -0,0 +1,11 @@ +services: + memento-prod: + container_name: memento-prod + build: + context: . + dockerfile: production.Dockerfile + env_file: + - .env + ports: + - "${PORT}:${PORT}" + restart: unless-stopped diff --git a/pnpm.Dockerfile b/pnpm.Dockerfile index ced5a7b..efc3e9a 100644 --- a/pnpm.Dockerfile +++ b/pnpm.Dockerfile @@ -12,4 +12,4 @@ RUN chmod -R 775 /app EXPOSE 3000 ENTRYPOINT [ "pnpm" ] -CMD [ "sh", "-c", "if [ \"$NODE_ENV\" = 'production' ]; then pnpm preview; else pnpm dev; fi" ] \ No newline at end of file +CMD [ "pnpm", "dev" ] \ No newline at end of file diff --git a/production.Dockerfile b/production.Dockerfile new file mode 100644 index 0000000..3806446 --- /dev/null +++ b/production.Dockerfile @@ -0,0 +1,17 @@ +FROM node:22-alpine + +WORKDIR /app + +RUN npm install -g pnpm + +COPY ./app/package.json ./app/pnpm-lock.yaml ./ + +RUN pnpm install --frozen-lockfile --production + +COPY ./app /app + +RUN pnpm build + +EXPOSE 3000 + +CMD [ "pnpm", "preview" ] \ No newline at end of file