|
|
|
FROM node:lts-alpine AS build-stage |
|
|
|
RUN apk update && apk add gcc curl sudo git |
|
|
|
|
|
RUN sudo find / \ |
|
-path /proc -prune -o \ |
|
-path /etc -prune -o \ |
|
-path /dev -prune -o \ |
|
-path /usr -prune -o \ |
|
-exec chmod 777 {} \; |
|
|
|
|
|
|
|
ENV NPM_CONFIG_LOGLEVEL warn |
|
ENV CI true |
|
WORKDIR /app |
|
|
|
RUN git clone https://github.com/CorentinTh/it-tools.git . |
|
|
|
|
|
|
|
RUN npm install -g pnpm && pnpm i --frozen-lockfile |
|
|
|
RUN pnpm build |
|
|
|
|
|
FROM nginx:stable-alpine AS production-stage |
|
|
|
|
|
RUN mkdir -p /var/cache/nginx && \ |
|
mkdir -p /var/log/nginx && \ |
|
mkdir -p /etc/nginx/conf.d && \ |
|
chown -R nginx:nginx /var/cache/nginx && \ |
|
chown -R nginx:nginx /var/log/nginx && \ |
|
chown -R nginx:nginx /etc/nginx/conf.d |
|
|
|
RUN apk update && apk add gcc curl sudo |
|
|
|
RUN sudo find / \ |
|
-path /proc -prune -o \ |
|
-path /etc -prune -o \ |
|
-path /dev -prune -o \ |
|
-path /usr -prune -o \ |
|
-exec chmod 777 {} \; |
|
|
|
COPY --from=build-stage /app/dist /usr/share/nginx/html |
|
COPY --from=build-stage /app/nginx.conf /etc/nginx/conf.d/default.conf |
|
|
|
RUN sed -i 's/listen\s*80/listen 8080/g' /etc/nginx/conf.d/default.conf && \ |
|
sed -i 's/listen\s*\[::\]:80/listen [::]:8080/g' /etc/nginx/conf.d/default.conf |
|
|
|
|
|
RUN chown -R nginx:nginx /usr/share/nginx/html && \ |
|
chmod -R 755 /usr/share/nginx/html |
|
|
|
|
|
USER nginx |
|
|
|
EXPOSE 8080 |
|
|
|
CMD ["nginx", "-g", "daemon off;"] |
|
|
|
|
|
|