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