uchill/front_minimal/Dockerfile

35 lines
914 B
Docker

FROM node:20-alpine AS development
WORKDIR /app
ARG VITE_SERVER_URL
ARG VITE_API_URL
ARG VITE_WS_URL
ARG VITE_LIVEKIT_URL
ARG VITE_EXCALIDRAW_PATH
ENV VITE_SERVER_URL=${VITE_SERVER_URL}
ENV VITE_API_URL=${VITE_API_URL}
ENV VITE_WS_URL=${VITE_WS_URL}
ENV VITE_LIVEKIT_URL=${VITE_LIVEKIT_URL}
ENV VITE_EXCALIDRAW_PATH=${VITE_EXCALIDRAW_PATH}
ENV NODE_ENV=development
ENV HOST=0.0.0.0
ENV CHOKIDAR_USEPOLLING=true
COPY package*.json ./
RUN npm install
COPY . .
# Entrypoint: при volume-монтировании проверяем node_modules, затем запускаем vite
RUN echo '#!/bin/sh' > /entrypoint.sh && \
echo 'set -e' >> /entrypoint.sh && \
echo 'if [ ! -d node_modules/vite ] 2>/dev/null; then npm install; fi' >> /entrypoint.sh && \
echo 'exec npx vite --port 3000 --host 0.0.0.0' >> /entrypoint.sh && \
chmod +x /entrypoint.sh
EXPOSE 3000
ENTRYPOINT ["/entrypoint.sh"]