diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index c4dfbe6..13ef4e3 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=http://chess-pdf-api:5000/api/v1 + VITE_MATOMO_URL=https://analytics.owenrees.eu + VITE_MATOMO_SITE_ID=3 + VITE_MAINTENANCE_MODE= + VITE_MAINTENANCE_MODE_MESSAGE=ChessScribe is currently undergoing maintenance. Some features may be unavailable. deploy: needs: publish @@ -50,4 +56,4 @@ jobs: cd /home/${{ secrets.USERNAME }} echo "${{ secrets.GHCR_SECRET }}" | docker login ghcr.io -u ${{ env.GH_USER }} --password-stdin docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - docker compose up -d \ No newline at end of file + docker compose up -d diff --git a/Dockerfile b/Dockerfile index 4e4cec6..71f120a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,21 @@ # --- Stage 1: Build Stage --- 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 . . @@ -20,4 +35,4 @@ COPY --from=builder /app/.output ./.output EXPOSE 3000 # Run the compiled Nitro server -CMD ["node", ".output/server/index.mjs"] \ No newline at end of file +CMD ["node", ".output/server/index.mjs"]