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:
co-authored by
Claude Opus 4.8
parent
ccd3ccd556
commit
5a094c926a
@@ -48,6 +48,9 @@ jobs:
|
|||||||
${{ env.REGISTRY }}/${{ env.OWNER }}/bete-${{ matrix.service }}:${{ github.sha }}
|
${{ env.REGISTRY }}/${{ env.OWNER }}/bete-${{ matrix.service }}:${{ github.sha }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
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:
|
deploy:
|
||||||
needs: build-and-push
|
needs: build-and-push
|
||||||
@@ -115,9 +118,6 @@ jobs:
|
|||||||
image: ghcr.io/${OWNER:-mytheclipse}/bete-frontend:latest
|
image: ghcr.io/${OWNER:-mytheclipse}/bete-frontend:latest
|
||||||
container_name: imphenbot-frontend
|
container_name: imphenbot-frontend
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
|
||||||
VITE_API_URL: https://imphnen.asepharyana.my.id
|
|
||||||
VITE_WS_URL: wss://imphnen.asepharyana.my.id
|
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.imphenbot-frontend.rule=Host(`imphnen.asepharyana.my.id`)"
|
- "traefik.http.routers.imphenbot-frontend.rule=Host(`imphnen.asepharyana.my.id`)"
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
FROM node:22-alpine
|
FROM node:22-alpine
|
||||||
|
|
||||||
|
ARG VITE_BE_API_URL
|
||||||
|
ARG VITE_BE_WS_URL
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Install pnpm
|
# Install pnpm
|
||||||
@@ -16,10 +19,10 @@ COPY services/frontend ./services/frontend
|
|||||||
# Install dependencies
|
# Install dependencies
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
# Build frontend
|
# Build frontend (env vars injected at build time)
|
||||||
RUN pnpm --filter './services/frontend' run build
|
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
|
EXPOSE 3000
|
||||||
|
|
||||||
# Start frontend (production preview)
|
# Start frontend (production preview)
|
||||||
|
|||||||
Reference in New Issue
Block a user