Files
trouvetonprofile/Dockerfile

51 lines
1.1 KiB
Docker

# ETAPE 1: Construire l'application
FROM node:20-alpine AS node-builder
ARG APP_NAME=technostrea
ARG ENVIRONMENT=production
ARG NG_VERSION=18
ARG ENV_URL
ENV APP_NAME=$APP_NAME
ENV ENVIRONMENT=$ENVIRONMENT
ENV NG_VERSION=$NG_VERSION
ENV ENV_URL=$ENV_URL
WORKDIR /app
COPY package*.json ./
RUN apk add --no-cache \
python3 \
make \
g++ \
cairo-dev \
pango-dev \
jpeg-dev \
giflib-dev \
pixman-dev \
freetype-dev \
build-base
RUN npm cache clean --force
RUN npm install -g @angular/cli@$NG_VERSION
COPY . .
RUN chmod +x replace-prod-env.sh
RUN ./replace-prod-env.sh src/environments/environment.ts $ENV_URL
RUN npm install --legacy-peer-deps
RUN ng build --configuration=$ENVIRONMENT --output-path=dist/
# ETAPE 2: Héberger l'application sur un serveur web nginx
FROM nginx:1.26.0-alpine AS server
EXPOSE 80
WORKDIR /usr/share/nginx/html
RUN rm -rf /usr/share/nginx/html/*
COPY --from=node-builder /app/dist/browser /usr/share/nginx/html
COPY --from=node-builder /app/nginx.conf /etc/nginx/conf.d/default.conf