fix(frontend): pass VITE_BE_API_URL and VITE_BE_WS_URL as Docker build args

Vite embeds env vars at build time, not runtime. The frontend code uses
VITE_BE_API_URL/VITE_BE_WS_URL but the workflow was setting wrong names
(VITE_API_URL/VITE_WS_URL). Now Dockerfile accepts build args and
workflow passes production URLs during docker build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-06-01 23:31:20 +07:00
co-authored by Claude Opus 4.8
parent ccd3ccd556
commit 5a094c926a
2 changed files with 9 additions and 6 deletions
+3 -3
View File
@@ -48,6 +48,9 @@ jobs:
${{ env.REGISTRY }}/${{ env.OWNER }}/bete-${{ matrix.service }}:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
VITE_BE_API_URL=https://imphnen.asepharyana.my.id
VITE_BE_WS_URL=wss://imphnen.asepharyana.my.id
deploy:
needs: build-and-push
@@ -115,9 +118,6 @@ jobs:
image: ghcr.io/${OWNER:-mytheclipse}/bete-frontend:latest
container_name: imphenbot-frontend
restart: unless-stopped
environment:
VITE_API_URL: https://imphnen.asepharyana.my.id
VITE_WS_URL: wss://imphnen.asepharyana.my.id
labels:
- "traefik.enable=true"
- "traefik.http.routers.imphenbot-frontend.rule=Host(`imphnen.asepharyana.my.id`)"
+6 -3
View File
@@ -1,5 +1,8 @@
FROM node:22-alpine
ARG VITE_BE_API_URL
ARG VITE_BE_WS_URL
WORKDIR /app
# Install pnpm
@@ -16,10 +19,10 @@ COPY services/frontend ./services/frontend
# Install dependencies
RUN pnpm install --frozen-lockfile
# Build frontend
RUN pnpm --filter './services/frontend' run build
# Build frontend (env vars injected at build time)
RUN VITE_BE_API_URL=${VITE_BE_API_URL} VITE_BE_WS_URL=${VITE_BE_WS_URL} pnpm --filter './services/frontend' run build
# Expose port (served by backend)
# Expose port
EXPOSE 3000
# Start frontend (production preview)