Просмотр исходного кода

Build Vue/Vite assets in Docker; wire APP_BASE_URL into compose

Add npm ci + vite build step for room_cal/vue/ in the Dockerfile so
dist/ is produced at image build time. Expose APP_BASE_URL in compose
so the runtime API base URL can be set via env.
ZiB 4 месяцев назад
Родитель
Сommit
bf31fcaa59
2 измененных файлов с 9 добавлено и 4 удалено
  1. 8 4
      docker/Dockerfile
  2. 1 0
      docker/compose.yaml

+ 8 - 4
docker/Dockerfile

@@ -11,6 +11,11 @@ RUN apt-get update \
 
 WORKDIR /app
 
+# Entrypoint & stdout logging
+COPY docker/entrypoint.sh /entrypoint.sh
+COPY docker/uvicorn_log.json /etc/uvicorn_log.json
+RUN chmod +x /entrypoint.sh
+
 # Python deps — cached until pyproject.toml / uv.lock change
 COPY pyproject.toml uv.lock ./
 
@@ -21,13 +26,12 @@ RUN cd room_cal/service_api/typescript \
     && npm ci \
     && node_modules/.bin/playwright install-deps chromium
 
-# Entrypoint
-COPY docker/entrypoint.sh /entrypoint.sh
-RUN chmod +x /entrypoint.sh
+# Vue/Vite deps — cached until package*.json changes
+COPY room_cal/vue/package*.json ./room_cal/vue/
+RUN cd room_cal/vue && npm ci && npm run build
 
 # App source + install project
 COPY room_cal/ ./room_cal/
-COPY docker/uvicorn_log.json /etc/uvicorn_log.json
 RUN mkdir /root/.local && ln -s /config /root/.local/room_cal \
     && uv sync --group api --group mcp --no-dev --frozen --no-install-project \
     && uv sync --group api --group mcp --no-dev --frozen

+ 1 - 0
docker/compose.yaml

@@ -10,6 +10,7 @@ services:
     environment:
       - TZ=${TZ:-}
       - SMS_GATEWAY_SECRET=${SMS_GATEWAY_SECRET:-}
+      - APP_BASE_URL=${APP_BASE_URL:-}
     healthcheck:
       test: ["CMD", "curl", "-sf", "http://localhost:${API_PORT:-8000}/health"]
       interval: 30s