diff --git a/Dockerfile b/Dockerfile index 34c9a60..727a6f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,31 +1,33 @@ # --- STAGE 1: Build (Môi trường build) --- FROM node:20-alpine AS builder - WORKDIR /app -# Copy các file cấu hình dependency +# Tăng memory limit ngay từ đầu +ENV NODE_OPTIONS="--max-old-space-size=8192" + +# Copy package files trước COPY package*.json ./ -# Cài đặt mọi thư viện (bao gồm cả devDependencies để build) +# Cài dependencies RUN npm ci --legacy-peer-deps -# Copy toàn bộ source code và build dự án +# Copy source code COPY . . + +# Build với memory limit rõ ràng RUN npm run build -# --- STAGE 2--- +# --- STAGE 2: Production --- FROM node:20-alpine AS runner - WORKDIR /app -# Thiết lập môi trường Production ENV NODE_ENV=production +ENV NODE_OPTIONS="--max-old-space-size=2048" -# 1. Cài đặt PM2 toàn cục và dọn dẹp cache của npm ngay lập tức +# Cài PM2 RUN npm install pm2 -g && npm cache clean --force -# 2. Chỉ copy những file cần thiết nhất từ stage builder -# Nuxt 3/Nitro đã đóng gói mọi node_modules cần thiết vào .output +# Copy những file cần thiết từ builder COPY --from=builder /app/.output ./.output COPY --from=builder /app/ecosystem.config.cjs ./ COPY --from=builder /app/package*.json ./ diff --git a/app/plugins/02-connection.js b/app/plugins/02-connection.js index 73641d6..35882e5 100644 --- a/app/plugins/02-connection.js +++ b/app/plugins/02-connection.js @@ -1,6 +1,6 @@ export default defineNuxtPlugin((nuxtApp) => { const module = "application"; - const mode = "dev"; + const mode = "prod"; const paths = [ { name: "dev", url: "https://erpapi.bigdatatech.vn/" }, { name: "local", url: "http://localhost:8000/" }, diff --git a/app/stores/index.js b/app/stores/index.js index 3552b08..b13438b 100644 --- a/app/stores/index.js +++ b/app/stores/index.js @@ -1,6 +1,6 @@ import { defineStore } from "pinia"; -export const useStore = defineStore("maindev", { +export const useStore = defineStore("main", { state: () => ({ viewport: undefined, login: undefined, diff --git a/buildbiz.sh b/buildbiz.sh deleted file mode 100644 index 24514bf..0000000 --- a/buildbiz.sh +++ /dev/null @@ -1,10 +0,0 @@ -# docker build -t y99-application . -# docker tag y99-application docker.bigdatatech.vn/y99-application -# docker push docker.bigdatatech.vn/y99-application - -python3 envdev.py -PROJECT="utopia" -IMAGE="biz" - -docker build -t docker.bigdatatech.vn/$PROJECT/$IMAGE:latest . -docker push docker.bigdatatech.vn/$PROJECT/$IMAGE:latest diff --git a/builddealer.sh b/builddealer.sh deleted file mode 100644 index 6aa12b1..0000000 --- a/builddealer.sh +++ /dev/null @@ -1,10 +0,0 @@ -# docker build -t y99-application . -# docker tag y99-application docker.bigdatatech.vn/y99-application -# docker push docker.bigdatatech.vn/y99-application - -python3 envproddealer.py -PROJECT="utopia" -IMAGE="dealer" - -docker build -t docker.bigdatatech.vn/$PROJECT/$IMAGE:latest . -docker push docker.bigdatatech.vn/$PROJECT/$IMAGE:latest diff --git a/builddealerdev.sh b/builddealerdev.sh deleted file mode 100644 index e11cf94..0000000 --- a/builddealerdev.sh +++ /dev/null @@ -1,10 +0,0 @@ -# docker build -t y99-application . -# docker tag y99-application docker.bigdatatech.vn/y99-application -# docker push docker.bigdatatech.vn/y99-application - -python3 envdevdealer.py -PROJECT="utopia" -IMAGE="dealer-dev" - -docker build -t docker.bigdatatech.vn/$PROJECT/$IMAGE:latest . -docker push docker.bigdatatech.vn/$PROJECT/$IMAGE:latest diff --git a/builddev.sh b/builddev.sh deleted file mode 100644 index 16c1c5f..0000000 --- a/builddev.sh +++ /dev/null @@ -1,10 +0,0 @@ -# docker build -t y99-application . -# docker tag y99-application docker.bigdatatech.vn/y99-application -# docker push docker.bigdatatech.vn/y99-application - -python3 envdev.py -PROJECT="utopia" -IMAGE="biz-dev" - -docker build -t docker.bigdatatech.vn/$PROJECT/$IMAGE:latest . -docker push docker.bigdatatech.vn/$PROJECT/$IMAGE:latest