diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index a8f789d..29161b4 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -49,6 +49,12 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 + cache-from: type=gha + cache-to: type=gha,mode=max + build-args: | + VITE_API_URL=${{ vars.VITE_API_URL }} + VITE_DEFAULT_LATITUDE=${{ vars.VITE_DEFAULT_LATITUDE }} + VITE_DEFAULT_LONGITUDE=${{ vars.VITE_DEFAULT_LONGITUDE }} - name: Output image URLs run: | diff --git a/Dockerfile b/Dockerfile index 26174df..6a5c3eb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,17 @@ RUN bun install --frozen-lockfile # Build dashboard stage FROM base AS dashboard-builder + +# Accept build arguments for Vite environment variables +ARG VITE_API_URL +ARG VITE_DEFAULT_LATITUDE +ARG VITE_DEFAULT_LONGITUDE + +# Set as environment variables for Vite build +ENV VITE_API_URL=${VITE_API_URL} +ENV VITE_DEFAULT_LATITUDE=${VITE_DEFAULT_LATITUDE} +ENV VITE_DEFAULT_LONGITUDE=${VITE_DEFAULT_LONGITUDE} + COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/apps/dashboard/node_modules ./apps/dashboard/node_modules COPY apps/dashboard ./apps/dashboard diff --git a/docker-compose.yml b/docker-compose.yml index 3c6ce09..2922f64 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,11 @@ services: build: context: . dockerfile: Dockerfile + args: + # Vite environment variables for dashboard build + VITE_API_URL: ${VITE_API_URL:-http://localhost:8000} + VITE_DEFAULT_LATITUDE: ${VITE_DEFAULT_LATITUDE:-37.7749} + VITE_DEFAULT_LONGITUDE: ${VITE_DEFAULT_LONGITUDE:--122.4194} image: eva-monorepo:latest container_name: eva restart: unless-stopped