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

View File

@ -10,15 +10,9 @@ RUN npm run build
FROM nginx:alpine FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf 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 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;"] CMD ["nginx", "-g", "daemon off;"]

12
env.sh Normal file
View 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

View File

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