From 55493aaf1fab83e4ec0b4b9bdd958bed5ebcc418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Fri, 8 May 2026 15:20:18 +0900 Subject: [PATCH] Add backend config --- backend/src/config.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 backend/src/config.js diff --git a/backend/src/config.js b/backend/src/config.js new file mode 100644 index 0000000..935e3ce --- /dev/null +++ b/backend/src/config.js @@ -0,0 +1,40 @@ +import dotenv from 'dotenv'; + +dotenv.config(); + +const bool = (value, fallback = false) => { + if (value === undefined || value === null || value === '') return fallback; + return ['1', 'true', 'yes', 'on'].includes(String(value).toLowerCase()); +}; + +export const config = { + app: { + env: process.env.APP_ENV || 'development', + host: process.env.APP_HOST || '127.0.0.1', + port: Number(process.env.APP_PORT || 3000), + trustProxy: bool(process.env.TRUST_PROXY, true), + publicApiUrl: process.env.PUBLIC_API_URL || 'http://localhost:3000', + publicWsUrl: process.env.PUBLIC_WS_URL || 'ws://localhost:3000/ws' + }, + db: { + path: process.env.DATABASE_PATH || './data/chat.sqlite' + }, + cors: { + adminOrigin: process.env.ADMIN_ORIGIN || 'http://localhost:5173', + widgetOrigin: process.env.WIDGET_ORIGIN || 'http://localhost:5174' + }, + telegram: { + token: process.env.TELEGRAM_BOT_TOKEN || '', + proxy: { + enabled: bool(process.env.TELEGRAM_PROXY_ENABLED, false), + type: process.env.TELEGRAM_PROXY_TYPE || 'socks5', + host: process.env.TELEGRAM_PROXY_HOST || '127.0.0.1', + port: Number(process.env.TELEGRAM_PROXY_PORT || 9050), + username: process.env.TELEGRAM_PROXY_USERNAME || '', + password: process.env.TELEGRAM_PROXY_PASSWORD || '' + } + }, + auth: { + jwtSecret: process.env.JWT_SECRET || 'change-me' + } +};