feat: add environment variable handling in Dockerfile and update Firebase configuration

This commit is contained in:
José Henrique 2025-02-16 11:38:30 -03:00
parent e5af3b8c51
commit 1f2a71452b
3 changed files with 22 additions and 16 deletions

@ -10,15 +10,9 @@ RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY env.sh /docker-entrypoint.d/env.sh
RUN chmod +x /docker-entrypoint.d/env.sh
EXPOSE 80
ENV VITE_API_BASE_URL=https://api.example.com
ENV VITE_FIREBASE_API_KEY=firebase-api
ENV VITE_FIREBASE_AUTH_DOMAIN=firebase-auth
ENV VITE_FIREBASE_PROJECT_ID=firebase-project
ENV VITE_FIREBASE_STORAGE_BUCKET=firebase-storage
ENV VITE_FIREBASE_MESSAGING_SENDER_ID=firebase-messaging
ENV VITE_FIREBASE_APP_ID=firebase-app
ENV VITE_FIREBASE_MEASUREMENT_ID=firebase-measurement
CMD ["nginx", "-g", "daemon off;"]

12
env.sh Normal file

@ -0,0 +1,12 @@
#!/bin/sh
for i in $(env | grep MY_APP_)
do
key=$(echo $i | cut -d '=' -f 1)
value=$(echo $i | cut -d '=' -f 2-)
echo $key=$value
# sed All files
# find /usr/share/nginx/html -type f -exec sed -i "s|${key}|${value}|g" '{}' +
# sed JS and CSS only
find /usr/share/nginx/html -type f \( -name '*.js' -o -name '*.css' \) -exec sed -i "s|${key}|${value}|g" '{}' +
done

@ -4,13 +4,13 @@ import { getAuth } from 'firebase/auth';
import { getAnalytics } from 'firebase/analytics';
const firebaseConfig = {
apiKey: import.meta.env.VITE_FIREBASE_API_KEY || 'firebaseApiKey',
authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN || 'firebaseAuthDomain',
projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID || 'firebaseProjectId',
storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET || 'firebaseStorageBucket',
messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID || 'firebaseMessagingSenderId',
appId: import.meta.env.VITE_FIREBASE_APP_ID || 'firebaseAppId',
measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID || 'firebaseMeasurementId',
apiKey: import.meta.env.VITE_FIREBASE_API_KEY || 'VITE_FIREBASE_API_KEY',
authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN || 'VITE_FIREBASE_AUTH_DOMAIN',
projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID || 'VITE_FIREBASE_PROJECT_ID',
storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET || 'VITE_FIREBASE_STORAGE_BUCKET',
messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID || 'VITE_FIREBASE_MESSAGING_SENDER_ID',
appId: import.meta.env.VITE_FIREBASE_APP_ID || 'VITE_FIREBASE_APP_ID',
measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID || 'VITE_FIREBASE_MEASUREMENT_ID',
};
const app = initializeApp(firebaseConfig);