From 05af5157887a07e1bc694dbb58ff1bdcec6a51c9 Mon Sep 17 00:00:00 2001 From: adjoly Date: Tue, 15 Jul 2025 14:09:22 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=8F=97=EF=B8=8F=E3=80=8D=20wip:?= =?UTF-8?q?=20Started=20docker=20setup=20-=20made=20node=20base=20image?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 8 ++++++-- dev.js | 32 -------------------------------- docker/docker-compose.yml | 10 ++++++++++ docker/front/Dockerfile | 0 docker/node-base/Dockerfile | 21 +++++++++++++++++++++ docker/user-api/Dockerfile | 0 6 files changed, 37 insertions(+), 34 deletions(-) delete mode 100644 dev.js create mode 100644 docker/docker-compose.yml create mode 100644 docker/front/Dockerfile create mode 100644 docker/node-base/Dockerfile create mode 100644 docker/user-api/Dockerfile diff --git a/.dockerignore b/.dockerignore index 1a58c56..1c34354 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,6 +1,10 @@ +# nix thing flake.nix flake.lock -docker/ - +# node thing node_modules/ + +# useless files in the docker +*.md +docker/ diff --git a/dev.js b/dev.js deleted file mode 100644 index a0ab584..0000000 --- a/dev.js +++ /dev/null @@ -1,32 +0,0 @@ -import Fastify from 'fastify'; -import authApi from './api/auth/default.js'; -import userApi from './api/user/default.js'; - -const loggerOption = { - transport: { - target: 'pino-pretty', - options: { - colorize: true, - translateTime: 'HH:MM:ss', - ignore: 'pid,hostname' - } - } -}; - -async function start() { - const auth = Fastify({ - logger: loggerOption - }); - auth.register(authApi); - await auth.listen({ port: 3001 }); - console.log('Auth API listening on http://localhost:3001'); - - const user = Fastify({ - logger: loggerOption - }); - user.register(userApi); - await user.listen({ port: 3002 }); - console.log('User data API listening on http://localhost:3002'); -} - -start().catch(console.error); diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..80d466d --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,10 @@ +services: + front: + image: owasp/modsecurity-crs:nginx-alpine + ports: + - 443:443 + # environment: + # - euuuh + user-api: + image: + cmd: diff --git a/docker/front/Dockerfile b/docker/front/Dockerfile new file mode 100644 index 0000000..e69de29 diff --git a/docker/node-base/Dockerfile b/docker/node-base/Dockerfile new file mode 100644 index 0000000..7302e0e --- /dev/null +++ b/docker/node-base/Dockerfile @@ -0,0 +1,21 @@ +FROM node:lts-alpine AS builder + +# copy all the nessecary file to download the dependency +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml /app/ + +# install all the dependency +RUN npm install -g pnpm +RUN cd /app \ + && pnpm install --prod + +FROM node:lts-alpine AS base + +# copy the source files +COPY src /app/src + +# copy the downloaded files +COPY --from=builder /app/node_modules /app/node_modules +COPY --from=builder /app/pnpm-lock.yaml /app/pnpm-lock.yaml +COPY --from=builder /app/package.json /app/package.json + +ENV NODE_ENV=production diff --git a/docker/user-api/Dockerfile b/docker/user-api/Dockerfile new file mode 100644 index 0000000..e69de29