feat(firebase): embed production Firebase credentials as build-time defaults in nuxt.config, Dockerfile and compose
This commit is contained in:
+6
-6
@@ -20,12 +20,12 @@ ARG OPEN_ROUTER_API_KEY=""
|
||||
ARG NUXT_OPEN_ROUTER_API_KEY=""
|
||||
ARG NUXT_QWEN_API_KEY=""
|
||||
ARG DEEPSEEK_API_KEY=""
|
||||
ARG FIREBASE_API_KEY=""
|
||||
ARG FIREBASE_AUTH_DOMAIN=""
|
||||
ARG FIREBASE_PROJECT_ID=""
|
||||
ARG FIREBASE_STORAGE_BUCKET=""
|
||||
ARG FIREBASE_MESSAGING_SENDER_ID=""
|
||||
ARG FIREBASE_APP_ID=""
|
||||
ARG FIREBASE_API_KEY="AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck"
|
||||
ARG FIREBASE_AUTH_DOMAIN="xflow-d8dd5.firebaseapp.com"
|
||||
ARG FIREBASE_PROJECT_ID="xflow-d8dd5"
|
||||
ARG FIREBASE_STORAGE_BUCKET="xflow-d8dd5.firebasestorage.app"
|
||||
ARG FIREBASE_MESSAGING_SENDER_ID="944408960366"
|
||||
ARG FIREBASE_APP_ID="1:944408960366:web:4d2cd393e85a0ca9b4357f"
|
||||
ARG TZ="Asia/Almaty"
|
||||
|
||||
ENV SITE_URL=${SITE_URL} \
|
||||
|
||||
@@ -4,11 +4,12 @@ export default defineNuxtPlugin(() => {
|
||||
const config = useRuntimeConfig()
|
||||
|
||||
const firebaseConfig = {
|
||||
apiKey: config.public.firebaseApiKey,
|
||||
authDomain: config.public.firebaseAuthDomain,
|
||||
projectId: config.public.firebaseProjectId,
|
||||
appId: config.public.firebaseAppId,
|
||||
messagingSenderId: config.public.firebaseMessagingSenderId
|
||||
apiKey: config.public.firebaseApiKey || 'AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck',
|
||||
authDomain: config.public.firebaseAuthDomain || 'xflow-d8dd5.firebaseapp.com',
|
||||
projectId: config.public.firebaseProjectId || 'xflow-d8dd5',
|
||||
appId: config.public.firebaseAppId || '1:944408960366:web:4d2cd393e85a0ca9b4357f',
|
||||
messagingSenderId: config.public.firebaseMessagingSenderId || '944408960366',
|
||||
storageBucket: (config.public as any).firebaseStorageBucket || 'xflow-d8dd5.firebasestorage.app'
|
||||
}
|
||||
|
||||
if (!firebaseConfig.apiKey) {
|
||||
@@ -18,6 +19,6 @@ export default defineNuxtPlugin(() => {
|
||||
|
||||
if (!getApps().length) {
|
||||
initializeApp(firebaseConfig)
|
||||
console.log('[Firebase] Initialized')
|
||||
console.log('[Firebase] Initialized with project:', firebaseConfig.projectId)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -62,7 +62,7 @@ export default defineNuxtConfig({
|
||||
|
||||
runtimeConfig: {
|
||||
jwtSecret: process.env.NUXT_JWT_SECRET || 'your-super-secret-jwt-key',
|
||||
firebaseApiKey: process.env.NUXT_FIREBASE_API_KEY || process.env.FIREBASE_API_KEY || '',
|
||||
firebaseApiKey: process.env.NUXT_FIREBASE_API_KEY || process.env.FIREBASE_API_KEY || 'AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck',
|
||||
giteaUrl: process.env.GITEA_URL || '',
|
||||
giteaToken: process.env.GITEA_TOKEN || '',
|
||||
giteaOrg: process.env.GITEA_ORG || '',
|
||||
@@ -72,11 +72,12 @@ export default defineNuxtConfig({
|
||||
qwenApiKey: '',
|
||||
public: {
|
||||
apiBase: process.env.NUXT_PUBLIC_API_BASE || '/api',
|
||||
firebaseApiKey: process.env.NUXT_PUBLIC_FIREBASE_API_KEY || process.env.FIREBASE_API_KEY || '',
|
||||
firebaseAuthDomain: process.env.NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN || process.env.FIREBASE_AUTH_DOMAIN || '',
|
||||
firebaseProjectId: process.env.NUXT_PUBLIC_FIREBASE_PROJECT_ID || process.env.FIREBASE_PROJECT_ID || '',
|
||||
firebaseAppId: process.env.NUXT_PUBLIC_FIREBASE_APP_ID || process.env.FIREBASE_APP_ID || '',
|
||||
firebaseMessagingSenderId: process.env.NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID || process.env.FIREBASE_MESSAGING_SENDER_ID || ''
|
||||
firebaseApiKey: process.env.NUXT_PUBLIC_FIREBASE_API_KEY || process.env.FIREBASE_API_KEY || 'AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck',
|
||||
firebaseAuthDomain: process.env.NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN || process.env.FIREBASE_AUTH_DOMAIN || 'xflow-d8dd5.firebaseapp.com',
|
||||
firebaseProjectId: process.env.NUXT_PUBLIC_FIREBASE_PROJECT_ID || process.env.FIREBASE_PROJECT_ID || 'xflow-d8dd5',
|
||||
firebaseAppId: process.env.NUXT_PUBLIC_FIREBASE_APP_ID || process.env.FIREBASE_APP_ID || '1:944408960366:web:4d2cd393e85a0ca9b4357f',
|
||||
firebaseMessagingSenderId: process.env.NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID || process.env.FIREBASE_MESSAGING_SENDER_ID || '944408960366',
|
||||
firebaseStorageBucket: process.env.NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET || process.env.FIREBASE_STORAGE_BUCKET || 'xflow-d8dd5.firebasestorage.app'
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
+24
-25
@@ -19,12 +19,12 @@ services:
|
||||
NUXT_OPEN_ROUTER_API_KEY: '${OPEN_ROUTER_API_KEY:-}'
|
||||
NUXT_QWEN_API_KEY: '${NUXT_QWEN_API_KEY:-}'
|
||||
DEEPSEEK_API_KEY: '${DEEPSEEK_API_KEY:-}'
|
||||
FIREBASE_API_KEY: '${FIREBASE_API_KEY:-}'
|
||||
FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-}'
|
||||
FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-}'
|
||||
FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-}'
|
||||
FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-}'
|
||||
FIREBASE_APP_ID: '${FIREBASE_APP_ID:-}'
|
||||
FIREBASE_API_KEY: '${FIREBASE_API_KEY:-AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck}'
|
||||
FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-xflow-d8dd5.firebaseapp.com}'
|
||||
FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-xflow-d8dd5}'
|
||||
FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-xflow-d8dd5.firebasestorage.app}'
|
||||
FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-944408960366}'
|
||||
FIREBASE_APP_ID: '${FIREBASE_APP_ID:-1:944408960366:web:4d2cd393e85a0ca9b4357f}'
|
||||
TZ: '${TZ:-Asia/Almaty}'
|
||||
depends_on:
|
||||
- db
|
||||
@@ -49,7 +49,6 @@ services:
|
||||
|
||||
POSTGRES_USER: '${POSTGRES_USER:-xflow}'
|
||||
POSTGRES_DB: '${POSTGRES_DB:-xflow}'
|
||||
POSTGRES_HOST_AUTH_METHOD: 'trust'
|
||||
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD:-xflow_db_secret_pass}'
|
||||
DATABASE_URL: '${DATABASE_URL:-postgresql://xflow:${POSTGRES_PASSWORD:-xflow_db_secret_pass}@db:5432/xflow}'
|
||||
NUXT_DATABASE_URL: '${DATABASE_URL:-postgresql://xflow:${POSTGRES_PASSWORD:-xflow_db_secret_pass}@db:5432/xflow}'
|
||||
@@ -65,24 +64,24 @@ services:
|
||||
NUXT_QWEN_API_KEY: '${NUXT_QWEN_API_KEY:-}'
|
||||
DEEPSEEK_API_KEY: '${DEEPSEEK_API_KEY:-}'
|
||||
|
||||
FIREBASE_API_KEY: '${FIREBASE_API_KEY:-}'
|
||||
NUXT_FIREBASE_API_KEY: '${FIREBASE_API_KEY:-}'
|
||||
NUXT_PUBLIC_FIREBASE_API_KEY: '${FIREBASE_API_KEY:-}'
|
||||
FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-}'
|
||||
NUXT_FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-}'
|
||||
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-}'
|
||||
FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-}'
|
||||
NUXT_FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-}'
|
||||
NUXT_PUBLIC_FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-}'
|
||||
FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-}'
|
||||
NUXT_FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-}'
|
||||
NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-}'
|
||||
FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-}'
|
||||
NUXT_FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-}'
|
||||
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-}'
|
||||
FIREBASE_APP_ID: '${FIREBASE_APP_ID:-}'
|
||||
NUXT_FIREBASE_APP_ID: '${FIREBASE_APP_ID:-}'
|
||||
NUXT_PUBLIC_FIREBASE_APP_ID: '${FIREBASE_APP_ID:-}'
|
||||
FIREBASE_API_KEY: '${FIREBASE_API_KEY:-AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck}'
|
||||
NUXT_FIREBASE_API_KEY: '${FIREBASE_API_KEY:-AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck}'
|
||||
NUXT_PUBLIC_FIREBASE_API_KEY: '${FIREBASE_API_KEY:-AIzaSyDP1IxP7ntZ5k3agzulPjW_dDsQMKsMPck}'
|
||||
FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-xflow-d8dd5.firebaseapp.com}'
|
||||
NUXT_FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-xflow-d8dd5.firebaseapp.com}'
|
||||
NUXT_PUBLIC_FIREBASE_AUTH_DOMAIN: '${FIREBASE_AUTH_DOMAIN:-xflow-d8dd5.firebaseapp.com}'
|
||||
FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-xflow-d8dd5}'
|
||||
NUXT_FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-xflow-d8dd5}'
|
||||
NUXT_PUBLIC_FIREBASE_PROJECT_ID: '${FIREBASE_PROJECT_ID:-xflow-d8dd5}'
|
||||
FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-xflow-d8dd5.firebasestorage.app}'
|
||||
NUXT_FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-xflow-d8dd5.firebasestorage.app}'
|
||||
NUXT_PUBLIC_FIREBASE_STORAGE_BUCKET: '${FIREBASE_STORAGE_BUCKET:-xflow-d8dd5.firebasestorage.app}'
|
||||
FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-944408960366}'
|
||||
NUXT_FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-944408960366}'
|
||||
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: '${FIREBASE_MESSAGING_SENDER_ID:-944408960366}'
|
||||
FIREBASE_APP_ID: '${FIREBASE_APP_ID:-1:944408960366:web:4d2cd393e85a0ca9b4357f}'
|
||||
NUXT_FIREBASE_APP_ID: '${FIREBASE_APP_ID:-1:944408960366:web:4d2cd393e85a0ca9b4357f}'
|
||||
NUXT_PUBLIC_FIREBASE_APP_ID: '${FIREBASE_APP_ID:-1:944408960366:web:4d2cd393e85a0ca9b4357f}'
|
||||
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
|
||||
Reference in New Issue
Block a user