feat(auth): add Firebase environment variables to Docker configuration

This commit is contained in:
Nik Afiq 2025-12-10 22:57:48 +09:00
parent 6745181a4b
commit 6f8d8b8af0
3 changed files with 25 additions and 3 deletions

View File

@ -9,6 +9,12 @@ services:
args:
PUBLIC_BASE_PATH: ${PUBLIC_BASE_PATH}
FRONTEND_MODE: ${FRONTEND_MODE:-production}
VITE_AUTH_ENABLED: ${VITE_AUTH_ENABLED:-true}
VITE_FIREBASE_API_KEY: ${VITE_FIREBASE_API_KEY}
VITE_FIREBASE_AUTH_DOMAIN: ${VITE_FIREBASE_AUTH_DOMAIN}
VITE_FIREBASE_PROJECT_ID: ${VITE_FIREBASE_PROJECT_ID}
VITE_FIREBASE_APP_ID: ${VITE_FIREBASE_APP_ID}
VITE_BACKEND_ORIGIN: ${VITE_BACKEND_ORIGIN:-/api}
image: watchparty-frontend:prod
container_name: watchparty-frontend
environment:

View File

@ -13,6 +13,16 @@ ENV FRONTEND_MODE=${FRONTEND_MODE}
ENV VITE_APP_MODE=${FRONTEND_MODE}
ARG VITE_BACKEND_ORIGIN=/api
ENV VITE_BACKEND_ORIGIN=${VITE_BACKEND_ORIGIN}
ARG VITE_AUTH_ENABLED=true
ENV VITE_AUTH_ENABLED=${VITE_AUTH_ENABLED}
ARG VITE_FIREBASE_API_KEY=
ENV VITE_FIREBASE_API_KEY=${VITE_FIREBASE_API_KEY}
ARG VITE_FIREBASE_AUTH_DOMAIN=
ENV VITE_FIREBASE_AUTH_DOMAIN=${VITE_FIREBASE_AUTH_DOMAIN}
ARG VITE_FIREBASE_PROJECT_ID=
ENV VITE_FIREBASE_PROJECT_ID=${VITE_FIREBASE_PROJECT_ID}
ARG VITE_FIREBASE_APP_ID=
ENV VITE_FIREBASE_APP_ID=${VITE_FIREBASE_APP_ID}
RUN npm run build

View File

@ -1,15 +1,21 @@
import { defineConfig } from "vite";
import path from "node:path";
import { defineConfig, loadEnv } from "vite";
import react from "@vitejs/plugin-react";
// Use PUBLIC_BASE_PATH="/watch-party/" for prod container builds.
// In dev, keep "/" so local paths are simple.
export default defineConfig(({ mode }) => {
// Load env from the repo root so both frontend and backend share the same .env.
const envDir = path.resolve(__dirname, "..");
const env = loadEnv(mode, envDir, "");
const base =
mode === "development"
? "/"
: process.env.PUBLIC_BASE_PATH || "/watch-party/";
: env.PUBLIC_BASE_PATH || process.env.PUBLIC_BASE_PATH || "/watch-party/";
return {
envDir,
base,
plugins: [react()],
@ -35,4 +41,4 @@ export default defineConfig(({ mode }) => {
},
},
};
});
});