diff --git a/dockerfile b/dockerfile index 76cb8076f..6ff2913e5 100644 --- a/dockerfile +++ b/dockerfile @@ -1,15 +1,26 @@ -FROM node:14 as build -WORKDIR /app -COPY ./package*.json /app/ -RUN npm config set unsafe-perm true -RUN npm install -g ionic -RUN npm config set legacy-peer-deps true -RUN npm i -D typescript@4.3.5 -RUN npm install --save --legacy-peer-deps -COPY ./ /app/ -RUN ionic build --prod +# ---------- Build Stage ---------- + FROM node:16-alpine AS build -FROM nginx:latest -COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf -RUN rm -rf /usr/share/nginx/html/* -COPY /www/ /usr/share/nginx/html/ \ No newline at end of file + WORKDIR /app + + # Install Ionic CLI (optional but safe) + RUN npm install -g @ionic/cli@6 @angular/cli@12 + + COPY package*.json ./ + RUN npm install + + COPY . . + + # Build production app + RUN ionic build --prod + + # ---------- Run Stage ---------- + FROM nginx:alpine + + # Copy build output to nginx + COPY --from=build /app/www /usr/share/nginx/html + + # Expose port + EXPOSE 80 + + CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index eb3517d25..075cccf8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -163,7 +163,6 @@ "hammerjs": "^2.0.8", "howler": "^2.2.3", "http-server": "^14.1.1", - "husky": "^8.0.3", "ionic-angular": "^3.9.10", "ionic-image-loader": "^6.3.3", "ionic-image-loader-v5": "^1.0.2", @@ -18633,20 +18632,6 @@ "ms": "^2.0.0" } }, - "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -58908,11 +58893,6 @@ "ms": "^2.0.0" } }, - "husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==" - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", diff --git a/package.json b/package.json index a170b0c60..9a138bf14 100644 --- a/package.json +++ b/package.json @@ -182,7 +182,6 @@ "hammerjs": "^2.0.8", "howler": "^2.2.3", "http-server": "^14.1.1", - "husky": "^8.0.3", "ionic-angular": "^3.9.10", "ionic-image-loader": "^6.3.3", "ionic-image-loader-v5": "^1.0.2",