Skip to content

Commit 3b9025e

Browse files
committed
feat: Add multi-stage Dockerfile for production build and Nginx serving with configurable Vite environment variables.
1 parent 71b0f23 commit 3b9025e

File tree

1 file changed

+37
-4
lines changed

1 file changed

+37
-4
lines changed

eta-web/Dockerfile

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,56 @@
55
# syntax=docker/dockerfile:1
66

77
# ---------- Stage 1: Build the React app ----------
8+
9+
# ---------- Stage 1: Build the React app ----------
810
FROM node:22-alpine AS build
911

1012
WORKDIR /app
1113

12-
# Copy package files (layer caching)
1314
COPY package.json package-lock.json ./
14-
1515
RUN npm install --legacy-peer-deps && npm cache clean --force
1616

17-
# Copy source code
1817
COPY . .
1918

19+
# 👇 ADD THESE LINES 👇
20+
ARG VITE_API_URL
21+
ARG VITE_FIREBASE_API_KEY
22+
ARG VITE_FIREBASE_AUTH_DOMAIN
23+
ARG VITE_FIREBASE_PROJECT_ID
24+
ARG VITE_FIREBASE_STORAGE_BUCKET
25+
ARG VITE_FIREBASE_MESSAGING_SENDER_ID
26+
ARG VITE_FIREBASE_APP_ID
27+
ARG VITE_FIREBASE_MEASUREMENT_ID
28+
29+
ENV VITE_API_URL=$VITE_API_URL
30+
ENV VITE_FIREBASE_API_KEY=$VITE_FIREBASE_API_KEY
31+
ENV VITE_FIREBASE_AUTH_DOMAIN=$VITE_FIREBASE_AUTH_DOMAIN
32+
ENV VITE_FIREBASE_PROJECT_ID=$VITE_FIREBASE_PROJECT_ID
33+
ENV VITE_FIREBASE_STORAGE_BUCKET=$VITE_FIREBASE_STORAGE_BUCKET
34+
ENV VITE_FIREBASE_MESSAGING_SENDER_ID=$VITE_FIREBASE_MESSAGING_SENDER_ID
35+
ENV VITE_FIREBASE_APP_ID=$VITE_FIREBASE_APP_ID
36+
ENV VITE_FIREBASE_MEASUREMENT_ID=$VITE_FIREBASE_MEASUREMENT_ID
37+
# 👆 END ADD 👆
38+
39+
RUN npm run build
40+
41+
# FROM node:22-alpine AS build
42+
43+
# WORKDIR /app
44+
45+
# # Copy package files (layer caching)
46+
# COPY package.json package-lock.json ./
47+
48+
# RUN npm install --legacy-peer-deps && npm cache clean --force
49+
50+
# Copy source code
51+
# COPY . .
52+
2053
# Copy the .env file for Vite build
2154
# This file should be created before docker build with the VITE_* vars
2255
# COPY .env.docker .env
2356

24-
RUN npm run build
57+
# RUN npm run build
2558

2659
# ---------- Stage 2: Serve with Nginx ----------
2760
FROM nginx:alpine AS serve

0 commit comments

Comments
 (0)