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:
parent
b55c8dc602
commit
a62f53fd96
|
|
@ -253,8 +253,11 @@ services:
|
||||||
context: ./front_minimal
|
context: ./front_minimal
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
args:
|
args:
|
||||||
- NEXT_PUBLIC_SERVER_URL=${NEXT_PUBLIC_API_URL}
|
- VITE_SERVER_URL=${NEXT_PUBLIC_API_URL}
|
||||||
- NEXT_PUBLIC_ASSET_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
|
container_name: ${COMPOSE_PROJECT_NAME}_front_minimal
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
|
@ -263,7 +266,7 @@ services:
|
||||||
env_file: .env
|
env_file: .env
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=${NODE_ENV:-development}
|
- NODE_ENV=${NODE_ENV:-development}
|
||||||
- HOSTNAME=0.0.0.0
|
- HOST=0.0.0.0
|
||||||
ports:
|
ports:
|
||||||
- "${FRONTEND_MINIMAL_PORT:-3005}:3000"
|
- "${FRONTEND_MINIMAL_PORT:-3005}:3000"
|
||||||
networks:
|
networks:
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,32 @@
|
||||||
# Development stage для front_minimal (отдельный от front_material)
|
|
||||||
FROM node:20-alpine AS development
|
FROM node:20-alpine AS development
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# front_minimal использует NEXT_PUBLIC_SERVER_URL, NEXT_PUBLIC_ASSET_URL
|
ARG VITE_SERVER_URL
|
||||||
ARG NEXT_PUBLIC_SERVER_URL
|
ARG VITE_API_URL
|
||||||
ARG NEXT_PUBLIC_ASSET_URL
|
ARG VITE_WS_URL
|
||||||
ARG NEXT_PUBLIC_BASE_PATH
|
ARG VITE_LIVEKIT_URL
|
||||||
ARG BUILD_STATIC_EXPORT=false
|
ARG VITE_EXCALIDRAW_PATH
|
||||||
|
|
||||||
ENV NEXT_PUBLIC_SERVER_URL=${NEXT_PUBLIC_SERVER_URL}
|
ENV VITE_SERVER_URL=${VITE_SERVER_URL}
|
||||||
ENV NEXT_PUBLIC_ASSET_URL=${NEXT_PUBLIC_ASSET_URL}
|
ENV VITE_API_URL=${VITE_API_URL}
|
||||||
ENV NEXT_PUBLIC_BASE_PATH=${NEXT_PUBLIC_BASE_PATH:-}
|
ENV VITE_WS_URL=${VITE_WS_URL}
|
||||||
ENV BUILD_STATIC_EXPORT=${BUILD_STATIC_EXPORT}
|
ENV VITE_LIVEKIT_URL=${VITE_LIVEKIT_URL}
|
||||||
|
ENV VITE_EXCALIDRAW_PATH=${VITE_EXCALIDRAW_PATH}
|
||||||
ENV NODE_ENV=development
|
ENV NODE_ENV=development
|
||||||
ENV HOSTNAME=0.0.0.0
|
ENV HOST=0.0.0.0
|
||||||
ENV WATCHPACK_POLLING=true
|
|
||||||
ENV CHOKIDAR_USEPOLLING=true
|
ENV CHOKIDAR_USEPOLLING=true
|
||||||
|
|
||||||
# front_minimal: есть и package-lock.json и yarn.lock, используем npm
|
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
RUN npm install
|
RUN npm install
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Entrypoint: при volume-монтировании проверяем node_modules
|
# Entrypoint: при volume-монтировании проверяем node_modules, затем запускаем vite
|
||||||
RUN echo '#!/bin/sh' > /entrypoint.sh && \
|
RUN echo '#!/bin/sh' > /entrypoint.sh && \
|
||||||
echo 'set -e' >> /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 'if [ ! -d node_modules/vite ] 2>/dev/null; then npm install; fi' >> /entrypoint.sh && \
|
||||||
echo 'exec npx next dev -p 3000 --hostname 0.0.0.0' >> /entrypoint.sh && \
|
echo 'exec npx vite --port 3000 --host 0.0.0.0' >> /entrypoint.sh && \
|
||||||
chmod +x /entrypoint.sh
|
chmod +x /entrypoint.sh
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ export default defineConfig(({ mode }) => {
|
||||||
server: {
|
server: {
|
||||||
port: 3032,
|
port: 3032,
|
||||||
host: true,
|
host: true,
|
||||||
|
allowedHosts: true,
|
||||||
},
|
},
|
||||||
preview: {
|
preview: {
|
||||||
port: 3032,
|
port: 3032,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue