diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index d89e0d3..5c62a3d 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -32,12 +32,6 @@ 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=false - VITE_MAINTENANCE_MODE_MESSAGE=ChessScribe is currently undergoing maintenance. Some features may be unavailable. deploy: needs: publish diff --git a/Dockerfile b/Dockerfile index 71f120a..d98e063 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,20 +2,6 @@ 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 . . diff --git a/src/env.ts b/src/env.ts index 56e379c..0322ad3 100644 --- a/src/env.ts +++ b/src/env.ts @@ -1,16 +1,16 @@ import { z } from "zod"; const clientSchema = z.object({ - VITE_API_BASE_URL: z.string("Invalid API Base URL format"), - VITE_MATOMO_URL: z.string("Invalid URL format"), + VITE_API_BASE_URL: z.url("Invalid API Base URL format"), + VITE_MATOMO_URL: z.url("Invalid URL format"), VITE_MATOMO_SITE_ID: z.string("Invalid Site ID"), VITE_MAINTENANCE_MODE: z.string("Invalid Maintenance Mode"), VITE_MAINTENANCE_MODE_MESSAGE: z.string().optional(), }); const serverSchema = z.object({ - DISCORD_CONTACT_WEBHOOK: z.string("Invalid Discord Contact Webhook URL"), - DISCORD_ERROR_LOG_WEBHOOK: z.string("Invalid Discord Error Log Webhook URL"), + DISCORD_CONTACT_WEBHOOK: z.url("Invalid Discord Contact Webhook URL"), + DISCORD_ERROR_LOG_WEBHOOK: z.url("Invalid Discord Error Log Webhook URL"), LICHESS_CLIENT_ID: z.string("Invalid Lichess Client ID"), });