rebreak-monorepo/backend/nitro.config.ts

43 lines
1.5 KiB
TypeScript

import { defineNitroConfig } from "nitropack/config";
export default defineNitroConfig({
compatibilityDate: "latest",
srcDir: "server",
preset: "node-server",
// Supabase als external dep — nicht bundlen
externals: {
inline: [/^(?!@supabase\/supabase-js)/],
},
imports: {
dirs: ["db", "db/**", "utils", "utils/**"],
exclude: ["**/node_modules/**"],
},
runtimeConfig: {
databaseUrl: process.env.DATABASE_URL ?? "",
adminSecret: process.env.ADMIN_SECRET ?? "",
openrouterApiKey: process.env.OPENROUTER_API_KEY ?? "",
deepgramApiKey: process.env.DEEPGRAM_API_KEY ?? "",
googleApiKey: process.env.GOOGLE_API_KEY ?? "",
googleAiApiKey: process.env.GOOGLE_AI_API_KEY ?? "",
azureTtsKey: process.env.AZURE_TTS_KEY ?? "",
azureTtsRegion: process.env.AZURE_TTS_REGION ?? "",
openaiApiKey: process.env.OPENAI_API_KEY ?? "",
stripeSecretKey: process.env.STRIPE_SECRET_KEY ?? "",
stripeWebhookSecret: process.env.STRIPE_WEBHOOK_SECRET ?? "",
resendApiKey: process.env.RESEND_API_KEY ?? "",
encryptionKey: process.env.ENCRYPTION_KEY ?? "",
lyraBotUserId: process.env.LYRA_BOT_USER_ID ?? "",
rebreakBotUserId: process.env.REBREAK_BOT_USER_ID ?? "",
groqApiKey: process.env.GROQ_API_KEY ?? "",
cronSecret: process.env.CRON_SECRET ?? "",
public: {
stripePublishableKey: process.env.STRIPE_PUBLISHABLE_KEY ?? "",
appUrl: process.env.APP_URL ?? "https://staging.rebreak.org",
apiBase: process.env.API_BASE ?? "https://staging.rebreak.org",
},
},
});