fix: vite dev server config — allowedHosts, Dockerfile, docker-compose

- vite.config.js: allowedHosts: true (accept all hosts behind nginx proxy)
- Dockerfile: switch from next to vite entrypoint, VITE_* build args
- docker-compose: VITE_* build args replacing NEXT_PUBLIC_* for front_minimal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Dev Server 2026-03-09 17:24:07 +03:00
parent b55c8dc602
commit a62f53fd96
3 changed files with 21 additions and 19 deletions

View File

@ -253,8 +253,11 @@ services:
context: ./front_minimal
dockerfile: Dockerfile
args:
- NEXT_PUBLIC_SERVER_URL=${NEXT_PUBLIC_API_URL}
- NEXT_PUBLIC_ASSET_URL=${NEXT_PUBLIC_API_URL}
- VITE_SERVER_URL=${NEXT_PUBLIC_API_URL}
- VITE_API_URL=${NEXT_PUBLIC_API_URL}
- VITE_WS_URL=${NEXT_PUBLIC_WS_URL}
- VITE_LIVEKIT_URL=${NEXT_PUBLIC_LIVEKIT_URL}
- VITE_EXCALIDRAW_PATH=${NEXT_PUBLIC_EXCALIDRAW_PATH}
container_name: ${COMPOSE_PROJECT_NAME}_front_minimal
restart: unless-stopped
volumes:
@ -263,7 +266,7 @@ services:
env_file: .env
environment:
- NODE_ENV=${NODE_ENV:-development}
- HOSTNAME=0.0.0.0
- HOST=0.0.0.0
ports:
- "${FRONTEND_MINIMAL_PORT:-3005}:3000"
networks:

View File

@ -1,34 +1,32 @@
# Development stage для front_minimal (отдельный от front_material)
FROM node:20-alpine AS development
WORKDIR /app
# front_minimal использует NEXT_PUBLIC_SERVER_URL, NEXT_PUBLIC_ASSET_URL
ARG NEXT_PUBLIC_SERVER_URL
ARG NEXT_PUBLIC_ASSET_URL
ARG NEXT_PUBLIC_BASE_PATH
ARG BUILD_STATIC_EXPORT=false
ARG VITE_SERVER_URL
ARG VITE_API_URL
ARG VITE_WS_URL
ARG VITE_LIVEKIT_URL
ARG VITE_EXCALIDRAW_PATH
ENV NEXT_PUBLIC_SERVER_URL=${NEXT_PUBLIC_SERVER_URL}
ENV NEXT_PUBLIC_ASSET_URL=${NEXT_PUBLIC_ASSET_URL}
ENV NEXT_PUBLIC_BASE_PATH=${NEXT_PUBLIC_BASE_PATH:-}
ENV BUILD_STATIC_EXPORT=${BUILD_STATIC_EXPORT}
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 HOSTNAME=0.0.0.0
ENV WATCHPACK_POLLING=true
ENV HOST=0.0.0.0
ENV CHOKIDAR_USEPOLLING=true
# front_minimal: есть и package-lock.json и yarn.lock, используем npm
COPY package*.json ./
RUN npm install
COPY . .
# Entrypoint: при volume-монтировании проверяем node_modules
# Entrypoint: при volume-монтировании проверяем node_modules, затем запускаем vite
RUN echo '#!/bin/sh' > /entrypoint.sh && \
echo 'set -e' >> /entrypoint.sh && \
echo 'if [ ! -d node_modules/next ] 2>/dev/null || [ ! -f node_modules/.package-lock.json ] 2>/dev/null; then npm install; fi' >> /entrypoint.sh && \
echo 'exec npx next dev -p 3000 --hostname 0.0.0.0' >> /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

View File

@ -32,6 +32,7 @@ export default defineConfig(({ mode }) => {
server: {
port: 3032,
host: true,
allowedHosts: true,
},
preview: {
port: 3032,