diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index 5c62a3d..dbae9f5 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -32,6 +32,12 @@ jobs: tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} cache-from: type=gha cache-to: type=gha,mode=max + build-args: | + VITE_API_BASE_URL="https://api.chess-scribe.org/api/v1" + VITE_MATOMO_URL="https://analytics.owenrees.eu" + VITE_MATOMO_SITE_ID="3" + VITE_MAINTENANCE_MODE="true" + VITE_MAINTENANCE_MODE_MESSAGE="ChessScribe is currently undergoing maintenance. Some features may be unavailable." deploy: needs: publish diff --git a/Dockerfile b/Dockerfile index d98e063..71f120a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,20 @@ FROM node:24-alpine AS builder WORKDIR /app +# 1. Declare the build-time arguments Vite needs +ARG VITE_API_BASE_URL +ARG VITE_MATOMO_URL +ARG VITE_MATOMO_SITE_ID +ARG VITE_MAINTENANCE_MODE +ARG VITE_MAINTENANCE_MODE_MESSAGE + +# 2. Assign them to environment variables so Vite detects them +ENV VITE_API_BASE_URL=$VITE_API_BASE_URL +ENV VITE_MATOMO_URL=$VITE_MATOMO_URL +ENV VITE_MATOMO_SITE_ID=$VITE_MATOMO_SITE_ID +ENV VITE_MAINTENANCE_MODE=$VITE_MAINTENANCE_MODE +ENV VITE_MAINTENANCE_MODE_MESSAGE=$VITE_MAINTENANCE_MODE_MESSAGE + COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ RUN corepack enable pnpm && pnpm i --frozen-lockfile COPY . .