From 9e65d2f2d55e51f5b10ebdfb87823c46e6a87ca8 Mon Sep 17 00:00:00 2001 From: andwati Date: Mon, 12 Jan 2026 22:41:44 +0300 Subject: [PATCH] feat: add Dockerfile and docker-compose configuration for application setup --- Dockerfile | 18 ++++++++++++++++++ docker-compose.yml | 25 +++++++++++++++++++++++++ package.json | 8 +++++++- 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e69de29..de6aabe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM node:24-alpine + +RUN corepack enable && \ + corepack prepare pnpm@latest --activate + +WORKDIR /app + +COPY package.json pnpm-lock.yaml ./ + +RUN pnpm install --frozen-lockfile + +COPY . . + +RUN pnpm run build + +EXPOSE 3000 + +CMD ["node", "dist/server.js"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index e69de29..095587a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -0,0 +1,25 @@ +services: + api: + container_name: order-service-api + build: . + ports: + - "3000:3000" + env_file: + - .env + depends_on: + - mongo + restart: unless-stopped + + mongo: + image: mongo:8 + container_name: order-service-mongo + command: ["--replSet" , "rs0", "--bind_ip_all"] + ports: + - "27017:27017" + volumes: + - mongo-data:/data/db + - ./docker/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro + restart: unless-stopped + +volumes: + mongo-data: diff --git a/package.json b/package.json index d292577..8669990 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,13 @@ "type": "module", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "start": "node dist/server.js", + "dev": "ts-node-dev --respawn --transpile-only src/server.ts", + "build": "tsc", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", + "prettier": "prettier --check .", + "prettier:fix": "prettier --write ." }, "keywords": [], "author": "",