Переглянути джерело

feat(build): add Dockerfile & composer

Karan Shamspirzadeh 1 місяць тому
батько
коміт
2af1dc5f0d
4 змінених файлів з 65 додано та 1 видалено
  1. 2 0
      .npmrc
  2. 46 0
      Dockerfile
  3. 16 0
      docker-compose.yml
  4. 1 1
      package.json

+ 2 - 0
.npmrc

@@ -0,0 +1,2 @@
+registry=https://mirror2.chabokan.net/npm/
+#registry=https://mirror-npm.runflare.com/

+ 46 - 0
Dockerfile

@@ -0,0 +1,46 @@
+# ---------- base ----------
+FROM node:20-alpine AS base
+
+WORKDIR /app
+
+RUN npm config set registry https://mirror2.chabokan.net/npm/
+RUN npm install -g pnpm
+RUN pnpm config set registry https://mirror2.chabokan.net/npm/
+
+# ---------- deps ----------
+FROM base AS deps
+
+COPY package.json pnpm-lock.yaml* ./
+
+RUN pnpm install --frozen-lockfile
+
+# ---------- builder ----------
+FROM base AS builder
+
+ARG VITE_API_BASE_URL
+ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
+
+COPY --from=deps /app/node_modules ./node_modules
+COPY . .
+
+RUN pnpm build
+
+# ---------- runner ----------
+FROM base AS runner
+
+WORKDIR /app
+
+ENV NODE_ENV=production
+
+RUN pnpm add -g serve
+
+COPY --from=builder /app/dist ./dist
+
+RUN addgroup -S nodejs
+RUN adduser -S reactjs -G nodejs
+
+USER reactjs
+
+EXPOSE 3001
+
+CMD ["serve", "-s", "dist", "-l", "3001"]

+ 16 - 0
docker-compose.yml

@@ -0,0 +1,16 @@
+version: '3.9'
+
+services:
+  talentyar-admin:
+    build:
+      context: .
+      dockerfile: Dockerfile
+      args:
+        VITE_API_BASE_URL: ${VITE_API_BASE_URL}
+
+    container_name: talentyar-admin
+
+    restart: unless-stopped
+
+    ports:
+      - '3001:3001'

+ 1 - 1
package.json

@@ -1,5 +1,5 @@
 {
-  "name": "shadcn-admin",
+  "name": "talentyar-admin",
   "private": false,
   "version": "2.2.1",
   "type": "module",