generic-chatbot-admin / Dockerfile
muryshev's picture
f
aa69a1c
raw
history blame
1.11 kB
# Этап 1: Сборка фронтенда
FROM node:20-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm ci
COPY . ./
ARG VITE_API_BASE_URL=/api
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
RUN npm run build
# Этап 2: Финальный образ с Nginx
FROM nginx:alpine
USER root
# Create a non-root user
RUN adduser -D -u 1000 -s /bin/sh pn
RUN mkdir -p /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx
RUN touch /var/run/nginx.pid
RUN chown -R pn:pn /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx \
/var/run/nginx.pid
USER pn
ENV HOME=/home/pn \
PATH=/home/pn/.local/bin:$PATH
RUN mkdir $HOME/app
WORKDIR $HOME/app
# Копируем собранные файлы фронтенда
COPY --chown=pn --from=builder /app/dist .
# Копируем конфигурацию Nginx
COPY --chown=pn devops/nginx.default.conf /etc/nginx/conf.d/default.conf
# Открываем порт 7860
EXPOSE 7860
# Запускаем Nginx
CMD ["nginx", "-g", "daemon off;"]